整型与无符号整型 运算时值的转换
来源:互联网 发布:js修改div属性 编辑:程序博客网 时间:2024/05/17 08:38
整型与无符号整型 运算时,系统会把整型转换为无符号整型
然后再进行运算,如果整型为负,则把负数的二进制补码直接
当成无符号的整型参加运算(即把符号位化为了最高值位。如:
-1的二进制补码为1111 1110,转换为无符号整型的话就是
1111 1110,转换为十进制就是254,然后用254进行运算)。
printf("在mac 64位有符号的int 占%lu 字节\n",sizeof(int)); printf("无符号的unsigned int 占%lu 字节\n",sizeof(unsigned int));//mac 64位 unsigned int a=6; int b=-16; unsigned int c=a+b;//在运算时把int型的变量强制转换为unsigned的,然后再相加 printf("a=%u b=%d c=%u\n",a,b,c); printf("(unsigned int )a = %u\n",(unsigned int)b);//把整型b强制转换为无符号型的 a=16; b=-16; c=a+b; printf("a=%u b=%d c=%u\n",a,b,c); // 2^32-1=4294967295 // unsigned int 0~4294967295 // 1000 0000 0000 0000 0000 0000 0001 0000//-16原码 // 1111 1111 1111 1111 1111 1111 1110 1111//-16反码 // 1111 1111 1111 1111 1111 1111 1111 0000//-16补码4294967280
输出:
在mac 64位有符号的int占4 字节
无符号的unsigned int 占4 字节
a=6 b=-16 c=4294967286
(unsigned int )a = 4294967280
a=16 b=-16 c=0
- 整型与无符号整型 运算时值的转换
- 无符号整型与有符号整型
- 整型与无符号整型相加
- 有符号整型和无符号整型的计算
- C语言无符号整型的输出
- 【C语言位运算的应用】如何按bit位翻转一个无符号整型
- 无符号整型赋值陷阱
- 无符号长整型llu
- 无符号整型赋值陷阱
- 无符号整型赋值陷阱
- 将一个无符号整型转换为十六进制输出
- 有符号和无符号整型的临界点
- 字节序转换的问题:把无符号整型字节逆转
- strtoul函数的使用(将字符串转换成无符号长整型数)
- JS中基本的运算符号以及字符串的整型数字转换方法
- 整型和短整型,有符号和无符号
- 浅析无符号整型和有符号整型
- 与C语言不同,JAVA里没有无符号整型
- JBoss jmx-console和web-console的安全设置
- 触摸消息的整体派发流程
- 使用PyRTF的生成RTF文件
- C#中如何将DataTable中的数据导出到Excel
- 如何学好C语言
- 整型与无符号整型 运算时值的转换
- jfeinstein10的SlidingMenu环境的部署
- Bootstrap Popover 隐藏的Javasript方法
- LVS测试
- JSP表格模板升级(1)-- 用Java反射动态指定方法和参数
- 程序效率篇
- Linux重启系统命令解释
- JS小功能(onmouseover实现选择月份)实例代码
- 虎嗅网到底是怎样的?/看虎嗅CEO李岷--媒体人葛甲的观点