精华内容
下载资源
问答
  • 整型字面值(常量)是显式书写的常量,如1234。——(我真没看懂这定义) C和C++都以三种不同的计数方式来书写整数。...第一是0,例如033,是十进制的27; ③十六进制:基数是16(逢16进一)。第一是0X或者0x

    整型字面值(常量)是显式书写的常量,如1234。——(我真没看懂这个定义)

    C和C++都能以三种不同的计数方式来书写整数。他们基数不同,用前一或两位来标识数字常量的基数。(或者说是进制?)

    ①十进制:基数为10。 第一位是1~9。例如11他就是十进制的11;

    ②八进制:基数为8(逢8进一)。第一位是0,例如033,是十进制的27;

    ③十六进制:基数是16(逢16进一)。第一位是0X或者0x,例如0X11,是十进制的17(1*16+1)。

    例如:


    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int a = 111;
    	int b = 0111;	//b为八进制的0111
    	int c = 0x111;	//c为十六进制的0x111
    	cout << "a= " << a << endl;	//显示a的结果
    	cout << "b= " << b << endl;	//显示b的结果(注:转为十进制显示)
    	cout << "c= " << c << endl;	//显示c的结果(注:转为十进制显示)
    	system("pause");
    	return 0;
    }
    

    其输出为:


    a= 123
    b= 83
    c= 291

    具体计算为:

    a=123没什么好说的;

    b=1*64+2*8+3*1=73;//第一位数字1要乘以8的二次方,第二位数字2乘以8的一次方,第三位数字3乘以8的0次方(即1)。如果是四位,则第一位要乘以8的三次方(512)

    c=1*256+2*16+3*1=273; //第一位数字1要乘以16的二次方,第二位数字2乘以16的一次方,第三位数字3乘以16的0次方(即1)。

     

    即八进制和十六进制在计算的时候,其换算成十进制的方法是从右往左数每一个数字,分别乘以8(或16)的x-1次方(x为从右往左的位数,第一位x=1,第二位x=2),然后相加求和则为十进制

     

    PS:

    (1)无论是显示的或者输入的数字是八进制十进制十六进制,反正在内存里都以二进制来存储(0和1),所以并不会省内存。

    (2)无论是哪个进制,程序都一样能读懂,所以没必要在程序非要把十六进制的转为十进制来看或者输入(程序能看懂就ok了)。

    (3)如果以十六进制或者八进制来显示值的话,可以用cout的一些特殊特性。在头文件iostream里面,提供了控制符endl用于重起一行。还提供了dec,hex,oct分别用于指示cout以十进制(dec)、八进制(oct)和十六进制(hex)来显示整数。如代码:



    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int a = 123;
    	int b = 0123;	//b为八进制的0123
    	int c = 0x123;	//c为十六进制的0x123
    	cout << "a= " << a << endl;	//显示a的结果
    	cout << "b= " << b << endl;	//显示b的结果(注:转为十进制显示)
    	cout << "c= " << c << endl;	//显示c的结果(注:转为十进制显示)
    	cout << endl;
    
    	cout << hex;	//告诉程序你应该以十六进制(hex)方式显示整数
    	cout << "a= " << a << " ←这里以十六进制的方式显示a" << endl;	//显示a的结果(注:转为十六进制显示)
    	cout << oct;	//告诉程序你应该以八进制(oct)的方式显示整数
    	cout << "a= " << a << " ←这里以八进制的方式显示a" << endl;	//显示c的结果(注:转为十进制显示)
    	cout << dec;	//告诉程序你应该以十进制(dec)的方式显示整数
    	cout << "a= " << a << " ←这里以十进制的方式显示a" << endl;	//显示a的结果
    
    	system("pause");
    	return 0;
    }
    

    输出结果为:


    a= 123
    b= 83
    c= 291
    
    a= 7b ←这里以十六进制的方式显示a
    a= 173 ←这里以八进制的方式显示a
    a= 123 ←这里以十进制的方式显示a
    请按任意键继续. . .
    

    注意:

    ①八进制那里的显示,前面没有0。但是输入的时候要加0,不然程序以为你输入的是十进制。同样,十六进制前面,也没有0x。至于如何让他以有的方式来显示,(我还不知道……)

    ②cout<<hex; 并不会显示任何东西,只是单纯的告诉编译器,以什么方式显示数字。另外,因为标识符hex存在于命名空间std中,因此,变量名不能用hex,除非你不用using namespace std; 这行命令。另外,也只有用了这行命令,你才能简写hex,dec,oct。否则你就要用std::hex , std::dec , std::oct 等。

     

     


    展开全文
  • java基础(进制

    2018-05-13 01:17:05
    对于整数:有四种表现形式二进制:0,1 满2进1进制:0-7,满8进1 0开头十进制:0-9,满10进1十六进制:0-9,A-F,满16进1 0x开头【进制的由来】计算机中存储的都是电信号,电信号包含的信号无非就是0,1,...
    对于整数:有四种表现形式
    二进制:0,1  满2进1
    八进制:0-7,满8进1   用0开头
    十进制:0-9,满10进1
    十六进制:0-9,A-F,满16进1  用0x开头


    【进制的由来】


    计算机中存储的都是电信号,电信号包含的信号无非就是0,1,计算机中的文字、图片都是电信号演变来的。但是由0,1能表示的东西太少了,所以为了表示的东西更多,用8个0,1来表示。
    所以  1byte字节=8个二进制位。

    【进制转换】


    二进制转成其他进制:


    以0101011为例

    十进制:


    把二进制位上的每个最大整数先算出来,这样做比较简单


     0   1    0   1    0    1   1
    64  32  16  8    4   2   1


    所以0101011的十进制是:43

    八进制:因为每三个二进制位能代表的最大数是7,所以以三个二进制位代表一个八进数。

    101-011
     5   3           
       
    所以0101011的八进制就是053

    十六进制:同理,四个二进制为可以作为一个十六进制位
     0010- 1011
       2     11
    所以0101011的十六进制为  0x2B

    十进制转其他进制:先转成二进制,再把二进制转成其他进制即可  

    转成二进制


      以6为例
      6/2=3    ------0
      3/2=1    ------1
      1不能除2 ------1


    所以6的二进制是110

    八进制转成其他进制:
    做法先把八进制转换成二进制,再从二进制转成其他进制
    以35为例

    转成二进制:

    用三个二进制位表示一个八进制数

      3  5
     011-101


    十六进制转成其他进制:做法跟八进制转其他进制是一样的

    以35为例
    转为二进制:
       3      5
     0011   0101

    负数的进制
    如-6
    其实就是这个数的正数的二进制取反,加1
               0000-0110
     取反   1111-1001
        
      +1    0000-0001
    ----------------------
              1111-1010    =-6     

    负数的二进制的最高位是1
    展开全文
  • 程序员二进制计算器 v1.36

    热门讨论 2014-07-16 16:21:43
    支持与、或、非、异或、移位(循环、逻辑、算术),直接读写二进制位,指定位段读、写、置1、清0、反转。 二进制数据表达方式多样,数据可以K、M、G等单位为后缀。 支持类C语言库函数调用。 结果可以各种进制、各种...
  • 常用的整数间的数制转换前言一、基本概念1、数制:2、数:3、基数:4、权:二、转换1、十进制转换二进制2、二进制转换十进制3、二进制转换其它进制总结 前言 虽然计算机极快地进行运算,但其内部并不像人类在...

    前言

    虽然计算机能极快地进行运算,但其内部并不像人类在实际生活中使用的十进制,而是使用只包含0和1两个数值的二 进制。当然,人们输入计算机的十进制被转换成二进制进行计算,计算后的结果又由二进制转换成十进制,这都由操作系统自动完成,并不需要人们手工去做,学习汇编语言,就必须了解二进制(还有八进制/十六进制)。

    一、基本概念

    1、数制:

    数制也称计数制,是用一组固定的符号和统一的规则来表示数值的方法。人们通常采用的数制有十进制、二进制、八进制和十六进制。

    2、数位:

    数位是指数字符号在一个数中所处的位置。

    3、基数:

    基数是指数制所使用数码的个数。例如,二进制的基数为2;十进制的基数为10。

    4、位权:

    位权是指数制中某一位上的1所表示数值的大小(所处位置的价值)。例如,十进制的123,1的位权是100,2的位权是10,3的位权是1。二进制中的 1011 ,第一个1的位权是8,0的位权是4,第二个1的位权是2,第三个1的位权是1。

    二、转换

    1、十进制转换二进制

    基数除法:
    把我们要转换的数除以新的进制的基数,把余数作为新进制的最低位;
    把上一次得的商在除以新的进制基数,把余数作为新进制的次低位;
    继续上一步,直到最后的商为零,这时的余数就是新进制的最高位。
    例:在这里插入图片描述

    2、二进制转换十进制

    方法是:将其它进制按权位展开,然后各项相加,就得到相应的十进制数。

    例:(111)B=(1×2²+1×2¹+1×2º)D=(7)D
    2^3
    2^4

    3、二进制转换其它进制

    二进制转换为八进制、十六进制:八进制满足2³的关系,十六进制满足2^4的关系,因此把要转换的二进制从低位到高位每3位或4位一组,高位不足时在有效位前面添“0”,然后把每组二进制数转换成八进制或十六进制即可
    八进制、十六进制转换为二进制时,把上面的过程逆过来即可。

    例:
    (110000011011)B = 1100/0001/1011 =(C1B)H
    (C1B)H = 1100/0001/1011 =(110000011011)B

    总结

    人们通常采用的数制有十进制、二进制、八进制和十六进制。所以互相间的转换也得记牢才行。

    展开全文
  • 我们将计算机所表示这样的状态,0,1来表示、即用二进制数表示计算机内部的所有运算和操作。计算机中有关数及编码1.二进制数的运算法则2.十进制二进制进制、十六进制数之间的相互转换2.1 带有进...

    468e2493c56e5c187184bccd8d58ccb1.png

    计算机就其本身来说是一个电器设备,为了能够快速存储、处理、传递信息,其内部采用了大量的电子元件,在这些电子元件中,电路的通和断、电压高低,这两种状态最容易实现,也最稳定、也最容易实现对电路本身的控制。我们将计算机所能表示这样的状态,用0,1来表示、即用二进制数表示计算机内部的所有运算和操作。

    计算机中有关数及编码

    • 1.二进制数的运算法则
    • 2.十进制与二进制、八进制、十六进制数之间的相互转换
      • 2.1 带有进制说明的数的表示方法
      • 2.2 进制与基数
      • 2.3 数的权
      • 2.4 进制转换
        • 2.4.1 其他进制向十进制转换
        • 2.4.2 十进制向其他进制转换
        • 2.4.3 八进制与二进制的转换
        • 2.4.4 十六进制与二进制的转换
    • 3.ASCII编码
    • 4.汉字编码与汉字输入法
      • 4.1 机内码
      • 4.2 汉字输入码(外码)
      • 4.3 汉字字模

    1.二进制数的运算法则

    0+0=0;0+1=1;1+0=1;1+1=0;00=0;01=0;10=0;11=1;

    2.十进制与二进制、八进制、十六进制数之间的相互转换

    2.1 带有进制说明的数的表示方法

    一个需要进制说明的数,需对其加上小括号后,在右下角标明相应进制。十进制标明10或D;二进制标明2或B;八进制标明8或O;十六进制标明16或H
    例如:二进制数11111010,表示为(11111010)2或(11111010)B

    2.2 进制与基数

    计数的进制不同,则它们的基数也不相同,如表所示。

    93fcd8feb7dccb7eda8945aa912e8e5a.png

    2.3 数的权

    这是一个相对于十进制而言的概念。某一进制上的某位数,转化为十进制数所要乘的系数,即为该位数的权。对于一个k进制的数,自右向左起第m位的数的权为k^(m-1)

    2.4 进制转换

    2.4.1 其他进制向十进制转换

    方法:按权值展开,即“加权求和法例1:将(103)4转化为十进制数。
    解:(103)4=(1×4^ 2+0×4^ 1+3×4^0)10=(19)10例2:将(352.43)O转换成十进制数。
    解:(352.43)O=(3×8^ 2+5×8^ 1+2×8^ 0+4×8^ (-1)+3×8^(-2))10=(234.546875)10

    2.4.2 十进制向其他进制转换

    ①整数之间的转换
    方法:将十进制整数除以所定的进制数,取余逆序,即除k取余法:将(27)10转换成二进制数。
    解:如图所示(27)10=(11011)2

    dda1eca5f1c7df6facbbf8f0a10da173.png
    注:注意箭头方向,自下而上写数。

    ②小数之间的转换
    方法:将十进制小数的小数部分乘以进制数取整,作为转换后的小数部分,直到为零或精确到小数点后几位,即乘k取整法:将(0.375)D转换成二进制数。
    解:0.375×2=0.75 0
    0.75×2=1.5 1
    0.5×2=1 1
    ∴(0.375)D=(0.011)B
    注:这回是自上而下写数。

    2.4.3 八进制与二进制的转换

    二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,每3位为一组用一位八进制数的数字表示,不足3位的要用“0”补足3位,就得到一个八进制数。八进制数转换成二进制数:把每一个八进制数转换成3位的二进制数,就得到一个二进制数。:将八进制的37.416转换成二进制数:
    3 7 . 4 1 6
    011 111 .100 001 110
    即:(37.416)8 =(11111.10000111)2:将二进制的10110.0011 转换成八进制:
    0 1 0 1 1 0 . 0 0 1 1 0 0
    2 6 . 1 4
    即:(10110.011)2 = (26.14)8

    2.4.4 十六进制与二进制的转换

    二进制数转换成十六进制数:从小数点开始,整数部分向左、小数部分向右,每4位为一组用一位十六进制数的数字表示,不足4位的要用“0”补足4位,就得到一个十六进制数。十六进制数转换成二进制数:把每一个八进制数转换成4位的二进制数,就得到一个二进制数。:将十六进制数5DF.9 转换成二进制:
    5 D F . 9
    0101 1101 1111 .1001
    即:(5DF.9)16 =(10111011111.1001)2:将二进制数1100001.111 转换成十六进制:
    0110 0001 . 1110
    6 1 . E
    即:(1100001.111)2 =(61.E)16

    3.ASCII编码

    信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。

    ASCII码大致可以分作三部分組成。

    第一部分由 00H 到 1FH 共 32 个,一般用来通讯或作为控制之用,有些字符可显示于屏幕,有些则无法显示在屏幕上,但能看到其效果(例如换行字符、归位字符)。

    2627c5f6fabc08475794e73cd7886b12.png

    第二部分是由 20H 到 7FH 共 96 个,这 95 个字符是用来表示阿拉伯数字、英文字母大小写和底线、括号等符号,都可以显示在屏幕上。如下表:

    d625a91d9fc03b2a9a9f60419f6002f3.png

    第三部分由 80H 到 0FFH 共 128 个字符,一般称为『扩充字符』,这 128 个扩充字符是由 IBM 制定的,并非标准的 ASCII 码。这些字符是用来表示框线、音标和其它欧洲非英语系的字母

    b5b2ec9f55acbd167b7472342cadd39c.png

    4.汉字编码与汉字输入法

    4.1 机内码

    ASCII码不能表示汉字,因此要有汉字信息交换码,我国国家标准是gb2312,它也被称作国际码。它由两个字节组成,两个字节的最高位都为1。gb2312共收纳6763个汉字,其中,一级汉字(常用字)3755个按汉字拼音字母顺序排列,二级汉字3008个按部首笔画次序排列。

    4.2 汉字输入码(外码)

    目前,汉字输入法主要有键盘输入、文字识别和语音识别。键盘输入法是当前汉字输入的主要方法。它大体可以分为:流水码:如区位码、电报码、通信密码,优点重码律少,缺点难于记忆;音码:以汉语拼音为基准输入汉字,优点是容易掌握,但重码律高;形码:根据汉字的字型进行编码,优点重码少,但不容易掌握;音形码:将音码和形码结合起来,能减少重码律同时提高汉字输入速度。

    4.3 汉字字模

    供计算机输出汉字(显示和打印)用的二进制信息叫汉字字形信息也称字模。通用汉字字模点阵规格有16 * 16,24 * 24,32 * 32,48 * 48,64 * 64,每个点在存储器中用一个二进制位((bit)存储,如一个16*16点阵汉字需要32个字节(即256bit)的存储空间。

    展开全文
  • 目录 二进制 整数的存储 有符号数 无符号数 计算机以补码来存储整数 ...二进制 ...计算机中的数据都是以二进制补码形式存储的。...为什么是二进制不是进制十进制...1元器件表示的一位二进制称为1比特(Bit)或1,8
  • 进位计数制:使用一定数的数码的组合来表示数字,这种表示方法称为进位计数制 权:将各个位置上所表示的基本...十进制整数转换为二进制数 减权定位法:从二进制数高位起,依次待转换的十进制数与各位权值进行...
  • 十进制转成二进制 除以2取余数 •二进制转成十进制 乘以2的幂数 •十进制 进制 互转 •十进制 十六进制 互转 •负数的二进制表现形式  对应的正数二进制取反加1 变量的概念: •内存中的一...
  • python 的与众不同 – 基础篇 代码语句以行结尾 代码块以缩进开始(两种方式...十进制以0开头 二进制:以0b开头 进制:以0o开头 十六进制:以0x开头 运算时都是以十进制运算,如: a = 0XABC b = 0B111 print...
  • 1 十进制整数 2 进制整数:以0开头的数,如0376是进制数 3 十六进制整数:以0x开头的数,如0×4a3e是十六进制数 第二关: 一正数的补码和其原码相同。 求负数的补码的方法是:将该数的绝对值的二进制形式,按...
  • go格式化输出动词

    2020-10-30 20:17:29
    Go语言格式化输出动词: 动词 功能 ...按值本身的格式输出,万能动词,不知道什么动词就它...按十六进制输出,字母小写,%x还用来格式化字符串和[]byte类型,每字节十六进制表示,字母小写 %X 按
  • Java基础教程 02

    2012-10-09 19:12:27
    常量:表示不改变的数值 整数,小数,布尔型常量(true,false), 字符常量 ‘a’ 字符串常量 “Hello” ...二进制:1字节(byte)等于8个位(bit) Java中不支持显示表示二进制数 进制之间的转
  • 四种进制:十进制二进制(以0b或0B开头)、进制(以0o或0O开头)、十六进制(以0x或0X开头) 浮点数类型 浮点数存在尾数,不直接==判断两浮点数相等,判断浮点数相等round函数。 round(x,d)表示对...
  • ES6知识点总结(四)

    2021-03-27 09:15:43
    十进制外,JavaScript识别十六进制(以0x或0X为前缀)、二进制(以0b或0B为前缀)和进制(以0o或0O为前缀) 浮点数直接量 实数写法:由整数部分、小数点和小数部分组成。如:3.1415926 指数记数法:在实数部分...
  • hex(I), oct(I), bin(I) # 将十进制数转化为十六进制、进制、二进制表示的“字符串” int(str, base) # 将字符串转化为整数,base为进制数 # 2.x中,有两种整数类型:一般整数(32)和长整数(无穷精度)。...
  • 易语言 茶凉专用模块

    2010-05-04 12:26:36
    子程序 到十, 整数型, 公开, 将进制转换成十进制(返回十进制整数) .参数 进制文本, 文本型, , 欲转换的进制文本 .子程序 彩色字体, , 公开, 彩色动态字体 感谢[梦飞鸟] .参数 内容, 文本型 .参数 窗口句柄,...
  • 其一般形式为a E n (a为十进制数,n为十进制整数)其值为 a*10,n 如: 2.1E5 (等于2.1*10,5), 3.7E-2 (等于3.7*10,)-2*) 0.5E7 (等于0.5*10,7), -2.8E-2 (等于-2.8*10,)-2*)以下不是合法的实数 345 (无小数点) ...
  • 二进制中1的个数 测试10 第一题 数值的整数次方 测试11 第二题 打印1到最大的n位数 测试12 第三题 O(1)时间删除链表节点 测试13 第四题 使数组中的奇数位于偶数前面 测试14 第五题 找链表中倒数...
  • c语言你知识点总结

    2018-05-15 00:42:54
    byte 是指字节, 一个字节 = 八个位. 概念常考到的: 1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中,一定不出现分号,源程序扩展名为.c...
  • 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,...
  • # 进制数 (等于十进制数的83) $a = 0x12; # 十六进制数(等于十进制数的18) $a = 1.234; # 浮点数"双精度数" $a = 1.2e3; # 双精度数的指数形式 字符串 字符串可以由单引号或双引号引出的字段定义。注意不同的是...
  • 2004-2010软考程序员真题

    热门讨论 2012-09-27 12:33:00
     47、下列四个无字符十进制整数中,能用八个二进制位表示的是  A)257 B)201 C)313 D)296  48、计算机病毒是指  A)编制有错误的计算机程序 B)设计不完善的计算机程序  C)计算机的程序已被破坏 D)以危害系统...
  • C语言编程要点

    2017-09-18 00:10:37
    4.6. 文本模式(textmode)和二进制模式(binarymode)有什么区别? 61 4.7. 怎样判断是使用流函数还是使用低级函数? 62 4.8. 怎样列出某个目录下的文件? 62 4.9. 怎样列出一文件的日期和时间? 63 4.10. 怎样对某个目录...
  • def是一个二级指针,它指向的是一个一维数组的指针,数组的元素都是float. (2)double*(*gh)[10]; gh是一个指针,它指向一个一维数组,数组元素都是double*. (3)double(*f[10])(); f是一个数组,f有10个元素,元素都是...
  • 进制数,零开头 011(进制)=9(十进制) 十六进制数,零x开头 0x55(十六进制)=5*16+5(十进制) 类型:数据都必须有类型 boolean (8bit,不定的)只有true和false两值 char 16bit, 0~2^16-1 (2^16=6万6) byte ...

空空如也

空空如也

1 2 3
收藏数 55
精华内容 22
关键字:

十进制整数能用八个二进制位