首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么"int“不能与"j”一起工作,而long - long却能正常工作?

"int"和"j"是两个不同的数据类型,分别代表整数和字符。在C语言中,整数类型可以进行算术运算,而字符类型则代表一个字符的ASCII码值。

当我们尝试将一个字符类型的变量"j"与整数类型的变量"int"进行运算时,C语言会将字符类型的变量隐式转换为整数类型,然后再进行运算。这个转换是根据字符的ASCII码值进行的。

然而,当我们尝试将一个整数类型的变量"int"与一个长整数类型的变量"long"进行运算时,C语言会自动将"int"类型的变量隐式转换为"long"类型,然后再进行运算。这是因为"long"类型的取值范围比"int"类型更大,可以容纳更大的整数值。

因此,"int"和"j"不能直接进行运算,需要进行类型转换。而"long"和"long"可以正常工作,因为它们属于相同的数据类型。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

升级版雪花算法发号器

分布式其实并不能脱离中心化独立存在,比如rpc服务要统一注册到中心化节点做路由调度。...回到我们的主题,之所以传统雪花算法解决不了分布式多机部署的并发id冲突问题,是因为在集群中每个节点没有办法确定其在集群中的唯一身份,比如雪花算法的机房位相同,那么通过单机算法的出来的机器位id就有可能与集群中其他节点相同...应用启动时利用中心化节点确定每台机器的唯一身份(redis使用lua脚本做incr并且带超时时间,db使用自增主键) ,应用关闭时利用钩子方法回收中心化节点资源(redis带超时可以处理,db利用启动时生成的主键...为什么要回收中心节点资源?...(1 << workerIdBits) ; /** 工作机器ID(0~31) */ private long workerId; /** * 获取中心化机器ID

1.4K31

第2章:循环结构程序设计

顺序结构程序自上到下只执行 一遍,分支结构中甚至有些语句可能一遍都执行不了。换句话说,为了让计算机执行大量 操作,必须编写大量的语句。能不能只编写少量语句,就让计算机做大量的工作呢?...= 0.2时,程序能够正常运行,得正常结果. 但是当i !...aabb); 上面的程序并不完整——“aabb是完全平方数”是中文描述,不是合法的C语言表达式,aabb在C语言中也是另外一个变量,不是把两个数字a和两个数字b拼在一起(C语言中的变量名可以由多个字母组成...注意,这里是“退出循环” 是“继续循环”(想一想,为什么),可以把break换成continue加以验证。 另外,注意到这里的for语句是“残缺”的:没有指定循环条件。...程序2-5完整代码 3n+1问题 #include int main() { int n2,count=0; scanf("%d",&n2); long long n = n2

1.4K10

C 不再是一种编程语言

你会发现,每个人都必须学会C才能与主流的操作系统对话,然后当需要相互对话时,大家突然都用起了C。所以…为什么直接用C来相互对话呢?...int64_t? 还是写i64. long…?什么是long? C实际上没有ABI 好吧,这没有什么好惊讶的:C语言中的整数类型,为了 “可移植性”被设计成摇摆不定的大小,实际上大小也是不稳定的。...现在,虽然表面上可以针对这个目标进行编译,并得到一个在所有这些平台上都能“正常工作”的二进制文件,但Aria不相信有些程序会被编译成intmax_t大于int64_t。...在破坏ABI的情况下更改签名 "那又怎样,C永远不会再有进步吗?"!但也是!因为他们提供了糟糕的设计。 老实说,进行ABI兼容的修改是一种艺术形式。这种艺术的一部分就是准备工作。...这让旧版本的东西以某种方式与他们没有概念的新功能一起工作。 在破坏ABI的情况下更改类型 那除了可以改变一个函数的签名,还可以改变类型布局吗?Aria表示,这取决于你是如何暴露类型的。

67330

Java代码优化总结(长期更新)

前言 2016年3月修改,结合自己的工作和平时学习的体验重新谈一下为什么要进行代码优化。...从这个例子上还能顺便得到两个结论: 1、整型默认的数据类型是intlong l = 12345678901234L,这个数字已经超出了int的范围了,所以最后有一个L,表示这是一个long型数。...顺便,浮点型的默认类型是double,所以定义float的时候要写成""float f = 3.5f" 2、接下来再写一句"int ii = l + i;"会报错,因为long + int是一个long...虽然有些麻烦,却能避免资源泄露。...(37)切记以常量定义的方式替代魔鬼数字,魔鬼数字的存在将极大地降低代码可读性,字符串常量是否使用常量定义可以视情况而定 (38)long或者Long初始赋值时,使用大写的L不是小写的l,因为字母l极易与数字

54630

Netty入门之基础篇二

e) { e.printStackTrace(); } } } Gathering Writes 集中写入,简单理解就是将多个buffer的数据组合到一起填充到...接下来给大家简单讲解一下什么是黏包、半包现象 假设网络上又多条数据要发送给服务端,数据之间使用了\n进行换行,但是由于某种原因导致服务器接收的时候,数据进行了重新组合(这里的组合只是截断的点不一样,不是字符串的顺序进行了重新排列...j = 0; j < lenth; j++) { byte b = source.get(); target.put(b...FileChannel只能工作在阻塞模式下 不能和selector一起使用 FileChannel的获取方式: 注意:不能直接获取FileChannel,必须要通过FileInputStream、...readBytes = channel.read(buffer); 写入 这里需要注意一下,当是FileChannel时,channel是可以遵守写入的正确的写入方式,但是要是SocketChannel

10010

C 不再是一种编程语言

你会发现,每个人都必须学会C才能与主流的操作系统对话,然后当需要相互对话时,大家突然都用起了C。所以…为什么直接用C来相互对话呢?...int64_t? 还是写i64. long…?什么是long? C实际上没有ABI 好吧,这没有什么好惊讶的:C语言中的整数类型,为了 “可移植性”被设计成摇摆不定的大小,实际上大小也是不稳定的。...现在,虽然表面上可以针对这个目标进行编译,并得到一个在所有这些平台上都能“正常工作”的二进制文件,但Aria不相信有些程序会被编译成intmax_t大于int64_t。...在破坏ABI的情况下更改签名 "那又怎样,C永远不会再有进步吗?"!但也是!因为他们提供了糟糕的设计。 老实说,进行ABI兼容的修改是一种艺术形式。这种艺术的一部分就是准备工作。...这让旧版本的东西以某种方式与他们没有概念的新功能一起工作。 在破坏ABI的情况下更改类型 那除了可以改变一个函数的签名,还可以改变类型布局吗?Aria表示,这取决于你是如何暴露类型的。

74110
领券