精华内容
下载资源
问答
  • 文章目录一、二进制、八进制、十六进制整数的书写1、二进制2、八进制3、十六进制4、需要注意的坑二、二进制、八进制、十六进制整数的输出四、版权声明 整数是我们生活中常用的数据类型,也是编程中常用的一种数据,...

    整数是我们生活中常用的数据类型,也是编程中常用的一种数据,C语言用int关键字来定义整数变量(int 是 integer 的简写)。

    在定义变量的时候,可以加signed、unsigned、short和long四种修饰符。

    signed:有符号的,可以表示正数和负数。

    unsigned:无符号的,只能表示正数,例如数组的下标、人的身高等。

    short:短的,现在主流的64位操作系统下,整数占用内存4个字节,使用 4
    个字节保存较小的整数绰绰有余,会空闲出两个字节来,这些字节就白白浪费掉了。在C语言被发明的早期,或者在单片机和嵌入式系统中,内存都是非常稀缺的资源,所有的程序都在尽可能节省内存。

    long:长的,更长的整数。

    一、二进制、八进制、十六进制整数的书写

    一个数字默认就是十进制的,表示一个十进制数字不需要任何特殊的格式。但是,表示一个二进制、八进制或者十六进制数字就不一样了,为了和十进制数字区分开来,必须采用某种特殊的写法,具体来说,就是在数字前面加上特定的字符,也就是加前缀。

    1、二进制

    二进制由 0 和 1 两个数字组成,使用时必须以0b或0B(不区分大小写)开头。

    以下是合法的二进制:

      int a = 0b101;      // 换算成十进制为 5
      int b = -0b110010;  // 换算成十进制为 -50
      int c = 0B100001;   // 换算成十进制为 33
    

    以下是非法的二进制:

      int m = 101010;  // 无前缀 0B,相当于十进制
      int n = 0B410;    // 4不是有效的二进制数字
    

    请注意,标准的C语言并不支持上面的二进制写法,只是有些编译器自己进行了扩展,才支持二进制数字。换句话说,并不是所有的编译器都支持二进制数字,只有一部分编译器支持,并且跟编译器的版本有关系。

    2、八进制

    八进制由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o)。

    以下是合法的八进制数:

      int a = 015;      // 换算成十进制为 13
      int b = -0101;    // 换算成十进制为 -65
      int c = 0177777;  // 换算成十进制为 65535
    

    以下是非法的八进制:

      int m = 256;  // 无前缀 0,相当于十进制
      int n = 03A2;  // A不是有效的八进制数字
    

    3、十六进制

    十六进制由数字 0~9、字母 A~F 或a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头。

    以下是合法的十六进制:

      int a = 0X2A;   // 换算成十进制为 42
      int b = -0XA0;  // 换算成十进制为 -160
      int c = 0xffff;   // 换算成十进制为 65535
    

    以下是非法的十六进制:

      int m = 5A;    // 没有前缀 0X,是一个无效数字
      int n = 0X3H;  // H不是有效的十六进制数字
    

    4、需要注意的坑

    在现实生活和工作中,我们在写十进制数的时候,为了对齐或其它原因,在数值前面加0是无关紧要的,但是,在C语言中,不要在十进制数前加0,会被计算机误认为是八进制数。

    二、二进制、八进制、十六进制整数的输出

    下表是各种进制整数的输出格式。
    在这里插入图片描述

    细心的读者可能会发现,上表中没有二进制的输出格式,虽然部分编译器支持二进制数字的书写,但是却不能使用printf函数输出二进制数。您可以编写函数把其它进制数字转换成二进制数字,并保存在字符串中,然后在printf 函数中使用%s输出。

    示例:

    /*
     *  程序名:book.c,此程序用于演示二进制、八进制、十六进制整数的输出。
     *  作者:C语言技术网(www.freecplus.net) 日期:20190525。
    */
    #include <stdio.h>
    
    int main()
    {
      int ii=100;  // 定义变量ii,赋值十进制的100。
    
      printf("十进制输出结果:%d\n",ii);  // 十进制输出结果:100
    
      printf("八进制、无前缀输出结果:%o\n",ii);  // 八进制、无前缀输出结果:144
      printf("八进制、有前缀输出结果:%#o\n",ii); // 八进制、有前缀输出结果:0144
    
      printf("十六进制、无前缀输出结果:%x\n",ii);  // 十六进制、无前缀输出结果:64
      printf("十六进制、有前缀(小写)输出结果:%#x\n",ii); // 十六进制、有前缀(小写)输出结果:0x64
    
      printf("十六进制、无前缀输出结果:%X\n",ii);  // 十六进制、无前缀输出结果:64
      printf("十六进制、有前缀(大写)输出结果:%#X\n",ii); // 十六进制、有前缀(大写)输出结果:0X64
    }
    

    三、获取视频教程

    百万年薪程序员录制,《C/C++高性能服务开发基础》视频教程已在CSDN学院发布,优惠价12元,地址如下:
    https://edu.csdn.net/course/play/29402

    四、版权声明

    C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

    来源:C语言技术网(www.freecplus.net

    作者:码农有道

    如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发此文,让更多的人可以看到它,谢谢!!!

    展开全文
  • 二进制以0b开头 八进制以0开头 十六进制以0x开头

    二进制以0b开头
    八进制以0开头
    十六进制以0x开头

    展开全文
  • 相关问题十进制数,十六进制数,7D,八进制数,十六进制数,十六进制,数码,...法,十六进制,十六进制,目的,等价,二进制,阅读,书写,十六进制,二进制,十六进制,等值,大写,字母,现,字母,存储,单元,中,假设,高位,存储,单元,中,...

    相关问题

    十进制数,十六进制数,7D,

    八进制数,十六进制数,

    十六进制,数码,

    十六进制,

    其中,十六进制,

    Python,中,0xad,十六进制,数字,形式,

    十进制,常数,十六进制,常数,

    地址,值,十六进制,值,值,之间,冒号,记,法,冒号,十六进制,法,

    十六进制,

    十六进制,目的,等价,二进制,阅读,书写,

    十六进制,二进制,

    十六进制,等值,

    大写,字母,现,字母,存储,单元,中,假设,高位,存储,单元,中,十六进制,数据,

    C语言,中,0x,十六进制,

    十六进制,

    :

    字长,十六进制,

    在C语言中,为了结束由while语句构成的循环,while后一对圆括号达式的值应该为(): C语言 中 结束 while 语句 循环 while 后 圆括号 值

    中国大学,MOOC,C语言程序,中,下面,main函数,参数,

    中国大学,MOOC,C语言,中,参数,main函数,参数,程序,内部,值,

    C语言,Result,input,

    以下,选项,中,C语言,常量,

    C语言,中,常量,

    C语言,中,函数,定义,函数,调用,

    C语言,标准,输出,操作,中,函数,字符串,

    c语言,编程语言,过程,

    以下,中,C语言,中,整数,

    C语言,中,操作数,运算符,

    程序设计,语言,分类,以下,编程语言,中,程序设计,语言,语言,C语言,

    编程语言,Pascal,语言,C语言,

    C语言,名,main,

    展开全文
  • 我们有更多共同的十六进制 1、二进制 2、八进制 3、十进制 4、十六进制 5、十二进制 6、二十四进制 7...... 一、二进制 我们都知道二进制是在计算机中运用的较多,由于计算机中仅仅有两种状态(开关或者高电平低电平...

    在我们的生活中非常频繁地使用相应的转换

    我们有更多共同的十六进制

    1、二进制

    2、八进制

    3、十进制

    4、十六进制

    5、十二进制

    6、二十四进制

    7......

    一、二进制

    我们都知道二进制是在计算机中运用的较多,由于计算机中仅仅有两种状态(开关或者高电平低电平)

    我们一般用基数0和1来表示,二进制的运算时逢2进1

    一般我们运算有两种方法

    1.1-除二取余法

    这种方法是一个解决方式 

    比如:(我们在这里是十进制转化为二进制)

    13转化为二进制

    13/2=6..........1

    6/2=3.............0

    3/2=1.............1

    1/2=0.............1

    将余数倒过来取1101。则13转化为二进制为1101(B)

    2、八进制

    八进制的基数为0----7,逢8进1

    原理同二进制一样

    这里讲一下八进制转化为二进制。我们有两个方法

    2.1方法一:八进制转化为十进制,再由十进制转化为二进制

    21(8)=2*8^1+1*8^0=17

    17------转化为二进制10001(B)

    2.2方法二:八进制转化为二进制(八进制的一位相应二进制的三位)

    21-------------

    能够写成10001

    3、十进制

    十进制我们生活中最经常使用 

    123 表示1*10^2+2*10^1+3*10^1=100+20+3=123

    4、十六进制

    计算机中用的最多的是十六进制

    为什么多使用十六进制
    1、与二进制转换方便 
    2、比二进制书写简单

    十六进制的基数是0-9 A-F 

    十六进制转化为二进制的是一位相应四位

    0x33=00110011

    其它的进制转化的原理和以上的类似,我们都需要上述方法或规则的一些组合可以顺利解决

    版权声明:本文博主原创文章,博客,未经同意不得转载。




    本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4874271.html,如需转载请自行联系原作者


    展开全文
  • 目录1、浮点类型转换为十六进制方法1:用地址用指针方法2:用共用体方法3:使用memcpy2、十六进制转换为浮点类型近日在研究Modbus协议的时候遇到这样一个情况:使用ModScan32软件,可将HEX和浮点类型转换,如下所示...
  • 话题:计算机中,十六进制到进制,十进制到进制是要怎样计回答:计算机是由二进制单位来换算的,0和1,但是计算机发展到今天默认都和咱们算数的算盘一样利用十进制来换算也就是说普通的数值例如123,224,10,16,5,,1000...
  • 十六进制优势所在:1 与二进制转换方便,记住:8、4、2、1. "8421"2 数字长度比二进制短,与10进制相当。实际上在计算机内部使用的数字只有2进制的,也就是说只有0和1两个数字而已。 而16进制是计算机使用人员为了更好...
  • 试题 基础练习 十六进制转十进制

    千次阅读 2021-01-22 20:52:15
    试题 基础练习 十六进制转十进制 题目描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注意 十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。 测试用例 ...
  • 一、十进制转十六进制相关知识...十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 例如: 十进制的435转换为十六进制,用43...
  • 十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。  给出一个非负整数,将它表示成十六进制的形式。  注意:不要忘记0的书写...
  • 主要介绍了ascii码表二进制 十进制 十六进制详细介绍的相关资料,需要的朋友可以参考下
  • 文章目录一、二进制、八进制、十六进制整数的书写1、二进制2、八进制3、十六进制4、需要注意的坑二、二进制、八进制、十六进制整数的输出三、获取视频教程四、版权声明整数是我们生活中常用的数据类型,也是编程中...
  • 1.十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X。 #include <bits/stdc++.h> using namespace std; int main() { int val = ...
  • 十六进制

    千次阅读 2012-04-20 10:07:36
    英文名称:Hex number system,是计算机中数据的一种表示方法。同我们日常中的十进制表示法不一样。它由0-9,A-F,组成。...二进制转换十进制八进制转换十进制十六进制转换十进制二,十六进制互相转换十
  • 二进制和十六进制

    千次阅读 2018-08-16 08:40:17
    课程导言 【最早的编程语言是二进制语言,也是计算机能够直接...通过本篇的学习,你将了解到为什么计算机能够直接识别二进制语言,二进制的计数原理以及与十进制、十六进制之间的数值转换。】   在讲述二进制之...
  •  接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式  输出n行,每行为输入对应的八进制正整数。  【注意】  输入的十六进制数不会...
  • 二进制、八进制、十六进制 6.1 为什么需要八进制和十六进制? 6.2 二、八、十六进制数转换到十进制数  6.2.1 二进制数转换为十进制数  6.2.2 八进制数转换为十进制数  6.2.3 八进制数的表达方法 ...
  • 人们通常用十六进制而不是二进制写计算机,因为十六进制写比二进制写更方便。数学上,十六进制是每一个十六进制的进位制,一般用数字0 ~ 9和字母A~F表示,其中“A ~ F”表示“10~15”,称为十六进制数。推荐:“编程...
  • C++ int型数据的十六进制写法

    千次阅读 2018-12-04 14:01:18
    C++中十六进制的表示方法为使用”0x“前缀后面跟十六进制数据,对于32位整数来说最多需要8个十六进制数位来表示。 书写的方式与十进制类似,从高位到低位,未书写的高位默认为0。 即: 0x01 与 0x00000001相同,...
  • 3、十六进制数是一种逢十六进一的计数体制,基数是16,用09,AF表示,如0xFF或0XFF。 4、十六进制数以数字0和字母x的组合0x或0X开头。其中字母x是不区分大小写的,即0x与0X等价。 Note: 输出打印八进制数时 %o 这里...
  • 十六进制表示法

    万次阅读 多人点赞 2019-12-22 13:44:24
    一个字节由8位组成。在二进制表示法中,他的值域是00000000₂~11111111₂。如果看成十进制整数,他的值域就是0₁₀~255₁₀。...十六进制(简写为”hex”)使用数字’0’~’9’以及字符以及字符...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,409
精华内容 8,563
关键字:

十六进制书写