进制的表现形式及其之间的转换原理和工具

一、不同进制数据的表现形式:

  1)、二进制的数据表现形式
      * 由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了),例:0b100;
  2)、八进制的数据表现形式
      * 由0,1,…7组成。以0开头,例:0100;
  3)、十进制的数据表现形式
      * 由0,1,…9组成。整数默认是十进制的 ,例:100;
  4)、十六进制的数据表现形式
      * 由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头 ,例:0x100;

二、任意进制到十进制的转换:

  先通过十进制到十进制的转换来了解其它进制到十进制转换的原理,

  例:12345 = 10000 + 2000 + 300 +40 + 5

                    = 1*10^4 + 2*10^3 + 3*10^2 + 4*10^1 + 5*10^0

  可知:

    * 系数:就是每一位上的数据。
         * 基数:X进制,基数就是X。
         * 权:在右边,从0开始编号,对应位上的编号即为该位的权。
         * 结果:把系数*基数的权次幂相加即可。

  二进制转十进制:

    0b100 = 1*2^2 + 0*2^1 + 0*2^0 = 4;

  八进制转十进制:

    0100 = 1*8^2 + 0*8^1 + 0*8^0 = 64;

  十六进制转十进制:

    0x100 = 1*16^2 + 0*16^1 +0*16^0 = 256;

三、十进制到任意进制的转换:

  十进制到任意进制的转换原理

     * 除积倒取余

  十进制转二进制:

    

    60——》111100;

  十进制转八进制:

    60——》74;

  十进制转十六进制:

    60——》3C;

四、利用计算器进行转化:

  开始 —— 选择 计算器 —— 查看 —— 程序员:

     

    

    

原文地址:https://www.cnblogs.com/Big-Boss/p/9113992.html

时间: 2024-10-11 10:18:13

进制的表现形式及其之间的转换原理和工具的相关文章

C# 中2,10,16进制及其ASCII码之间转化

C# 中2,10,16进制及其ASCII码之间转化             --------//C#中各种字符类型的转化,使用于串口通信------------ //字符长度的理解            string s = "我是一个2兵";            int len = s.Length;//6个字符              byte[] sarr = System.Text.Encoding.Default.GetBytes(s);            len =

用栈实现2进制数到十进制数的转换

问题:用栈实现2进制数到十进制数的转换 解析:用到<math.h>库中的pow函数,pow(2,i)表示2^i.当进行形参到实参的传送时,需要改变栈中的元素时传入&s,当不改变栈中元素,只对栈s进行操作时,传入s 代码实现: /*利用栈的特点将2进制数转换为10进制数 */ #include<stdio.h> #include<stdlib.h> #include<math.h> #define ElemType char #define Init_

java-十进制、八进制、十六进制数互相转换

java-十进制.八进制.十六进制数互相转换下面是一个十进制.八进制.十六进制数互相转换的小程序public class JZTurn {?????public static void main(String[] args) {????????int num2 = 1314521;????????System.out.println("十进制数:"+num2);????????System.out.println("十进制转换二进制:"+turn2(num2));?

16进制字符和图片之间相互转换

图片和字符转换一版用在socket进行通信之间.现在我就把我写的和测试整理出来和大家分享下 1:图片转换成16进制字符 1 FileStream fs = new FileStream(lbl_show.Text, FileMode.Open, FileAccess.Read); 2 BinaryReader br = new BinaryReader(fs); 3 StreamWriter sw = new StreamWriter(tb_position.Text); 4 int lengt

C#数字、16进制字符串和字节之间互转

转自http://luohonghong.blog.163.com/blog/static/78312058201242632055642/ 如下: 1.数字和字节之间互转 int num=12345; byte[] bytes=BitConverter.GetBytes(num);//将int32转换为字节数组 num=BitConverter.ToInt32(bytes,0);//将字节数组内容再转成int32类型 2.将字符串转为16进制字符,允许中文 private string Str

java基础:不同进制的表现形式

不同进制的数据表现: 二进制:由0,1组成.以0b开头. 八进制:由0,1,...7组成.以0开头. 十进制:由0,1,...9组成.默认整数是十进制. 十六进制:由0,1,...9,a,b,c,d,e,f(大小写均可)组成.以0x开头. class JinZhiDemo { public static void main(String[] args) { System.out.println(100); //十进制 System.out.println(0b100); //二进制 System

Verilog--二进制编码到格雷码的转换

二进制编码:bincode,格雷编码:graycode,则两者转化关系为: graycode = (bincode>>1) ^ bincode; 即二进制编码右移一位然后与原来二进制编码异或. 举例说明: 二进制 格雷0000 >> 1 = 0000 ^ 0000 = 0000 0001 >> 1 = 0000 ^ 0001 = 0001 0010 >> 1 = 0001 ^ 0010 = 0011 0011 >> 1 = 0001 ^ 0011

C#字符串和16进制字符串之间的转换

将字符串编码成 16进制 字符串表示: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Net; namespace ConsoleApplication1{ class Program { static void Main(string[] args) { // 将字符串转换成16进制表示: // 先将字符串转换成 byte 数组: // (1).如果是

进制转换算法的C语言实现

         进制问题几乎是刚入门计算机时学的东西,即便如此,你知道进制之间是如何转换的吗?下面就来详细说明各进制之间的转换原理. (一)二.八.十六进制转十进制 2.8.16转10有一个通用的算法,就是用各位上的数乘以本进制的基数的n次幂(n为本位数后面的位数)求值后相加所得.有点绕口是吧?语文没学好,请谅解,下面举个例就懂了. Eg:100002=? 10 这是将二进制的10000转换成十进制,从左往右看,第一位是1,后面位数都是0,那就是: 1*24+0*23+0*22+0*21+0*