首页 > 编程语言 > 详细

C语言--变量

时间:2019-10-10 17:04:28      阅读:108      评论:0      收藏:0      [点我收藏+]
  • unsigned int 和 int 对计算机来讲没有区别, 只有在输出的时候, 计算机根据%d 和 %u 判断是否有符号位. %d 输出有符号的整数, %u 输出无符号整数. 无符号的整数比有符号的整数正好大一倍.
  • %#x是带格式输出, 效果为在输出前加0x.  如果不加# , 输出十六进制的时候只输出数值, 不带格式 0x 
  • 16进制 1位相当于二进制的4位, 所以32位机器int类型的  0xffffffff   , 8位就是四个字节, 最终存储在计算机中的一定是二进制.
  • 正数和负数如何存储在计算机中? 计算机存储的一定是补码. 计算机规定正数的补码,反码和原码相同, 负数的补码需要计算得出. 然后在输出的时候, 计算机会根据程序是想输出有符号数还是无符号数, 来决定最高位是符号位还是数值位.(http://c.biancheng.net/view/vip_1761.html)
  • 以char(1个字节)为例, 10000000B 如果以无符号数表示, 那么他是128, 如果以有符号数来表示他是-128. 这个值比较特殊, 正常理解应该是-0, 但他不是, 因为00000000B 表示0, +0和-0都是0. 没有区别.所以如果还用10000000B表示-0就多此一举了, 因而计算机规定, 10000000B在表示有符号数的时候就是-128. 11111111B表示-127 注意: 是在一个字节的前提下 ,int就不是这么回事了http://c.biancheng.net/view/vip_1762.html

C语言--变量

原文:https://www.cnblogs.com/bneglect/p/11649121.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!