精华内容
下载资源
问答
  • c语言进制表示

    2019-12-30 21:47:55
    c语言中各种进制表示方法二进制 据我所知,c/c++中没有二进制字面常量的表示方法(大概因为所有的数据本来就是以二进制存放的) 八进制 04567 注意是前面的是数字0 十进制 没啥说的。。。。。。什么?你不会写,你...

    c语言中各种进制表示方法:

    二进制 据我所知,c/c++中没有二进制字面常量的表示方法(大概因为所有的数据本来就是以二进制存放的)

    八进制 04567 注意是前面的是数字0

    十进制 没啥说的。。。。。。什么?你不会写,你是火星人吧!

    十六进制 0x9adf 注意0x前缀

    展开全文
  • 注意:其输入不能超过最大值 8和2

    注意:其输入不能超过最大值 8和2

    展开全文
  • 在实际开发中,我们可以用0和1的字符串来表达信息,例如某设备有八个传感器,每个传感器的状态用1表示正常,用0表示故障,用一个二进制的字符串表示它们如01111011,用一个字符或整数表示它就是123。 1、十进制转...

    在实际开发中,我们可以用0和1的字符串来表达信息,例如某设备有八个传感器,每个传感器的状态用1表示正常,用0表示故障,用一个二进制的字符串表示它们如01111011,用一个字符或整数表示它就是123。

    1、十进制转二进制字符串的思路

    1)把十进数除以2,记下余数(余数保存在字符串中),现用商除以2,再记下余数,如此循环,直到商为0。

    2)把保存余数的字符串反过来,就是结果。

    例如123转化成二进制:

    123/2=61余1

    61/2=30余1

    30/2=15余0

    15/2=7余1

    7/2=3余1

    3/2=1余1

    1/1=0余1

    结果是1101111,反过来就是1111011。

    2、二进制字符串转十进制的思路

    把二进制字符串从最高位(左边第一位)开始用商乘以2再加余数(该位的数字),如此循环,左边第一位的商肯定是0。

    例如1111011转化成十进制:

    0*2+1=1

    1*2+1=3

    3*2+1=7

    7*2+1=15

    15*2+0=30

    30*2+1=61

    61*2+1=123

    结果是123。

    3、示例代码

    /*
     * 程序名:book.c,此程序演示十进制和二进制的互相转换。
     * 作者:C语言技术网(www.freecplus.net) 日期:20190525。
    */
    #include "stdio.h"
    #include <string.h>
    
    // 把十进制整数转换为二进制的字符串。
    // dec:待转换的十进制整数。
    // pbin:用于存放转换后的字符串的地址,注意,您必须保证pbin足以存放转换后的结果,否则可能会产生内存溢出。在64位操作系统中,long的最大取值为2的64次方,所以,pbin最大不必超过65。
    void dectobin(const long dec,char *pbin)
    {
      long ys=0;  // 余数。
      int s=dec;  // 商。
      int ii=0;   // 位数的计数器。
      char result[65];  // 十进制转换成二进制后,保存在result中,再反过来存放到pbin中。
    
      memset(result,0,sizeof(result));
    
      // 把十进制转换为二进制,存放在result中。
      while (s>0)
      {
        ys=s%2;
        s=s/2;
        result[ii]=ys+'0';
        ii++;
      }
      
      // 再把result字符串反过来,存放在pbin中。
      int jj=0;
      for (;ii>0;ii--)
      {
        pbin[jj]=result[ii-1];
        jj++;
      }
    
      pbin[jj]=0; // 出于安全的考虑,加上0表示字符串结束。
    }
    
    // 把二进制字符串转换为十进制。
    // pbin:待转换的二进制字符串。
    // 返回值:二进制字符串转换为十进制整数的结果。
    long bintodec(const char *pbin)
    {
      int ii=0;
      long result=0;
    
      while (pbin[ii]!=0)
      {
        result=result*2+(pbin[ii]-'0');
        ii++;
      }
    
      return result;
    }
    
    int main()
    {
      int ii=0;
      printf("请输入一个整数:");  
      scanf("%d",&ii);
    
      char str[65];
      dectobin(ii,str);  // 把十进制转换为二进制的字符串。
      printf("%d的二进制输出是:%s\n",ii,str);
    
      // 再把二进制字符串转换为十进制。
      printf("%s转换为十进制的结果是:%d\n",str,bintodec(str));
    }
    

    运行测试:
    在这里插入图片描述

    4、获取视频教程

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

    5、版权声明

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

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

    作者:码农有道

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

    展开全文
  • 为了实际需要又建立了八进制和十六进制)2、不同进制C语言和汇编语言之间的表示方法a.在C语言中规定八进制前要加0(是数字零,不是字母o),规定十六进制要加0x或0X(数字0),十进制前什么都不加!b.在汇编语言中,...

    基础C语言:进制、常量一、进制

    1、什么叫进制

    进制就是逢几进一,我们说N进制实际就是指逢N进一

    (例,计算机只识别二进制;人类习惯使用的是十进制;为了实际需要又建立了八进制和十六进制)

    2、不同进制在C语言和汇编语言之间的表示方法

    a.在C语言中规定八进制前要加0(是数字零,不是字母o),规定十六进制要加0x或0X(数字0),十进制前什么都不加!

    83354191_1

    b.在汇编语言中,数字后面加字母B表示二进制数,加字母O表示八进制数,加字母D表示十进制数,加字母H表示十六进制数。

    83354191_2

    3、什么叫N进制

    a.十进制

    十个基数,逢10进1

    基数:0,1,2,3,4,5,6,7,8,9

    b.二进制

    二个基数,逢2进1

    基数:0,1

    c.八进制

    八个基数,逢8进1

    基数:0,1,2,3,4,5,6,7

    d.十六进制

    十六个基数,逢16进1

    基数:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(小写字母也可以)

    83354191_3

    4、在输出语句printf中,不同进制输出的表示方法

    %d表示十进制输出

    %x或%X表示十六进制输出

    %o(字母o)表示八进制输出

    例,

    83354191_4

    二、常量

    1、常量在C语言中是如何表示的

    常量就是程序中不变的量,int i=5;这个5就是常量

    a.整数

    十进制 传统写法,数字前什么也不加

    十六进制 数字前加0x或0X(数字0)

    八进制 数字前加0(数字0)

    83354191_1

    b.浮点数

    传统写法 float x=3.2;

    科学计数法 float i=3.2e3; //i的值是3200

    float i=123.45e-2; //i的值是1.2345

    c.字符

    单个字符用单引号括起来’A’

    字符串用双引号括起来 “abc”

    83354191_5

    展开全文
  • C++/C语言中十进制转二进制的常见方法

    万次阅读 多人点赞 2018-04-17 10:34:40
    用一个算法实现十进制数向二进制数转换,我们考虑得到7的二进制表示,奇数的二进制形式最后一位肯定是1,而偶数的二进制最后一位肯定是0。可以通过7%2来计算二进制最后一位数是0或者1。即对于十进制整数n而言,...
  •  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。  C语言:   第一种方法:得分75,因为int型是整型的 #include<stdio.h> int main() { int n; scanf("%x",&n);//输入16进制数 ...
  • C语言中8进制和16进制怎么表示 ...所以C语言没有二进制输入,最多可用函数去实现。 八进制数的表达方法 C/C++规定,一个数如果要指明它采用八进制,必须在它前面加上一个0(数字0),如:123是十进制,
  • 今天在看C语言编码转换时,既然对负数的二进制表示有些遗忘,查了下网上的资料,他们说的是个P!误人子弟!和大家讨论了下,贴出来已备在此遗忘: 假设有一个 int 类型的数,值为5,那么,我们知道它在计算机中...
  • 今天在看C语言编码转换时,既然对负数的二进制表示有些遗忘,查了下网上的资料,他们说的是个P!误人子弟!和大家讨论了下,贴出来已备在此遗忘: 假设有一个 int 类型的数,值为5,那么,我们知道它在计算机中表示...
  • c语言:进制和位运算

    2015-07-23 19:19:00
    一.进制 十进制转n进制: 连除倒...以 10 为例,不同进制的表示方法: 十进制: 10; 二进制: 0b1010; 八进制: 010; 十六进制: 0x10; int a = 100; printf("%o",a); /* 如何输出进制数: %d...
  • 关于二进制,八进制,十进制,十六进制的相互转换一、常用的进位计数制1、数制的表示方法方法一:将数用圆括号括起来,并将其数制的基数写在右下角。如(1011)2、(1AD)16、(567)10等。方法二:在数字后加上一个英文...
  • c语言中的进制表示

    千次阅读 2007-07-02 15:52:00
    c语言中各种进制表示方法二进制 据我所知,c/c++中没有二进制字面常量的表示方法(大概因为所有的数据本来就是以二进制存放的)八进制 04567 注意是前面的是数字0十进制 没啥说的。。。。。。什么?你不会写,你...
  • 十进制、二进制、八进制、十六进制 3.进制数字进位方法 十进制 0、1、2、3、4、5、6、7、8、9 逢十进一 二进制 0、1 逢二进一书写形式:需要以0b或者0B开头,比如0b101 八进制 0、1、2、3、4、5、6、7 逢八进一书写...
  • 在实际开发中,我们可能会用0和1的字符串来表达信息,例如某设备有八个传感器,每个传感器的状态用1表示正常,用0表示故障,用一个二进制的字符串表示它们如01111011,也可以用一个字符或整数表示它即123。...
  • C语言 统计整数二进制表示中1的个数 这是一个很有意思的问题,也是在面试中最容易被问到的问题之一。这个问题有个正式的名字叫Hamming_weight,而且wikipedia上也提供了很好的位运算解决的方法,这个下面也...
  • -------一、进制的表示方法在汇编中是加字母区分 4324B 二进制 2424O 八进制 24242D 十进制 35434H 十六进制二、C语言常量表示 整数 十进制 553 传统写法 十六进制 0x24 0x或0X开头,注意是数字零 八进制 023 0开头...
  • 今天在看C语言编码转换时,既然对负数的二进制表示有些遗忘,查了下网上的资料,他们说的是个P!误人子弟!和大家讨论了下,贴出来已备在此遗忘: 假设有一个 int 类型的数,值为5,那么,我们知道它在计算机中表示...
  • 主要是为了记录最后一种神奇的方法。 原文地址:http://www.cnblogs.com/xianghang123/archive/2011/08/24/2152408.html 这是一个很有意思的问题,也是在面试中最容易被问到的问题之一。这个问题有个正式的名字...
  • c语言进制

    2017-08-29 22:21:11
    1.负数二进制表示方法 假设有一个 int 类型的数值为5,那么,我们知道它在计算机中表示为: 00000000 00000000 00000000 00000101 5转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。...
  • 进制的表示方法C语言种,一个数字默认就是十进制的,表示一个十进制数字不需要任何特殊的格式。 但是,表示一个二进制、八进制或者十六进制数字就不一样了,为了和十进制数字区分开来,必须采用某种特殊的写法,...
  • 十进制数-38的8位二进制补码是首先... 1101 1010关于二进制补码,它可以用来表示小数吗二进制补码可以用来表示小数吗?还有给我一段二...【二进制补码可以用来表示小数吗?】可以,不过需要你自己来处理.方法是,按照所需...
  • 借鉴被人的   C语言中8进制和16进制...所以C语言没有二进制输入,最多可用函数去实现。 八进制数的表达方法 C/C++规定,一个数如果要指明它采用八进制,必须在它前面加上一个0(数字0),如:123是十进制,但0
  • KEIL for 51和RealView MDK就不能使用类似 ... 这样的表示二进制数的方法,有时候不方便。解决小技巧参考文章:http://ask.zol.com.cn/x/9159373.html #ifndef __BINARY_H__ #define __BINARY_H__ #define B32(...
  • 输入一个整数,输出该数二进制表示中1的个数。如输入32,输出1.代码实现:方法1:与运算#define_CRT_SECURE_NO_WARNINGS1 #include<iostream> usingnamespacestd; intFindOneNumber(unsignedintnum) { ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 409
精华内容 163
关键字:

c语言二进制表示方法

c语言 订阅