首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

0x80表示什么_0x38是多少

字符在计算机中以其ASCII码方式表示, 其长度为1个字节, 有符号字符型数 取值范围为-128~127, 无符号字符型数到值范围是0~255。因此在Turbo C语言中, 字符型数据在操作时将按整型数处理, 如果某个变量定义成char, 则表明该变量 是有符号的, 即它将转换成有符号的整型数。 Turbo C中规定对ASCII码值大于0x80的字符将被认为是负数。例如ASCII 值 为0x8c的字符, 定义成char时, 被转换成十六进制的整数0xff8c 。 这是因当 ASCII码值大于0x80时, 该字节的最高位为1, 计算机会认为该数为负数, 对于 0x8c表示的数实际上是-74(8c的各位取反再加1), 而-74 转换成两字节整型数并 在计算机中表示时就是0xff8c( 对0074 各位取反再加1) 。 因此只有定义为 unsigned char 0x8c转换成整型数时才是8c。这一点在处理大于0x80的ASCII码 字符时(例如汉字码)要特别注意。一般汉字均定义为unsigned char

02

6-基本数据类型

本文目录 一、取值范围 二、char 三、说明符 四、强制类型转换 C语言有丰富的数据类型,因此它很适合用来编写数据库,如DB2、Oracle等大型数据库都是C语言写的。其中,提供了4种最常用的基本数据类型:char、int、float、double,使用这些数据类型,我们就可以定义相应的变量来存储数据。这讲就来深入研究一下基本数据类型的一些使用细节。 一、取值范围 我们已经知道,不同数据类型所占的存储空间是不一样的。比如在64bit编译器环境下,char类型占用1个字节,int类型占用4个字节。字节长度不一样,包含的二进制位数就不一样,能表示的数据范围也就不一样。因此,int类型能表示的数据范围肯定比char类型大。下面来简单算算64bit编译器环境下int类型的取值范围。 1.推算int类型的取值范围 int类型占用4个字节,所以一共32位,那么按理来说,取值范围应该是:0000 0000 0000 0000 0000 0000 0000 0000~1111 1111 1111 1111 1111 1111 1111 1111,也就是10进制的0 ~ 232 - 1。但是int类型是有正负之分的,包括了正数和负数,那怎么表示负数呢?就是拿最高位来当符号位,当最高位为0就是正数,最高位为1则是负数。即:1000 0000 1001 1011 1000 0000 1001 1011就是一个负数,0000 1001 0000 1101 0000 1001 0000 1101是一个正数。由于最高位是0才代表正数,因此最大的正数是0111 1111 1111 1111 1111 1111 1111 1111,也就是231 - 1。而最小的负数就是1000 0000 0000 0000 0000 0000 0000 0000,也就是-231(为什么是这个值呢?可以根据前面章节提到的负数的二进制形式,自己去换算一下,看看1000 0000 0000 0000 0000 0000 0000 0000是不是-231。算不出也不用去纠结,不影响写代码,知道有这么一回事就完了)。因此,int类型的取值范围是-231 ~ 231 - 1。 注意:这个推算过程是不用掌握的,大致知道过程就行了,而且这个结论也不用去记,大致知道范围就行了。 2.各种数据类型的取值范围 int类型的取值范围已经会算了,那么其他数据类型的取值范围就能够以此类推。 (注:float和double由于是小数,它们的存储方式是特别不一样的,所以它们取值范围的算法也很不一样,这里不做介绍,也不用去掌握。e38表示乘以10的38次方,e-38表示乘以10的负38次方。) 上面表格中列出的只是64bit编译器环境下的情况。如果你的编译器是16bit或者32bit,这些数据类型的取值范围肯定是不一样的。比如int类型,在16bit编译器环境下是占用2个字节的,共16bit,所以int类型的取值范围是:-215 ~ 215 - 1。 3.数值越界 1> 例子演示 前面已经看到,每种数据类型都有自己的取值范围。如果给一个变量赋值了一个超出取值范围的数值,那后果会不堪设想。

01

【编程指导】如何成为一名真正的程序员?

本人十几岁开始写程序,近十几年来都在教人写程序,还经营着一个可能随时倒闭的软件公司,主要的开发语言是C#。 首先,我不认为《算法导论》是所有程序员必须一开始就掌握和精通的内容。 我无意否认某些核心课程的重要性,但是我们必须看到——很多程序员并不懂程序员的三大浪漫——编译原理,图形学,操作系统,但这并不妨碍他们在日常工作中创造出各种有价值的软件。之所以这么讲,原因是:行业的门槛因技术的不断进步而降低 不是所有的程序员都需要系统而全面地学习才能胜任工作。 这些年来,编程语言、开发工具的迅速发展,我们可以用C#、

010

c语言基础学习05_数组和字符串

============================================================================= 涉及到的知识点有:for循环有两种写法、数组、一维数组定义与使用、一维数组的初始化、 如何得到一个一维数组的成员数量、查找出一维数组中成员最大值、查找一维数组的第二大元素的值、 一维数组的逆置、一维数组排序:冒泡排序、二维数组、二维数组的初始化、三维数组初始化、三维数组排序、 字符串与字符数组、字符数组的初始化、字符数组的使用(以及字符数组和字符串的区别)、去除输出字符串结尾处的空格、 现在要去掉字符串最右面的空格,而不能去掉字符串中间的空格呢、随机数产生函数rand与srand、 自动的变种子、控制随机数的范围、用scanf来输入字符串、如何把两次输入的字符串放到新的字符串里去、 scanf缓冲区溢出的危险的解释、字符串的逆置。 ============================================================================= for循环有两种写法:

02
领券