十六进制字节 & 十六进制转二进制
做项目也将近一年的时间了。从一开始就经常提到“一个十六进制字节”,然而一开始就是迷惑的,直到现在。
一个十六进制字节,比如:FF。周围的人经常说这是一个十六进制字节。然后我就想,这不是两个字符吗,分别是F 和F,一个字符是一个字节,两个字符是两个字节,怎么就成一个十六进制字节,就成一个字节了。就是这种想法,整整困扰了我将近一年的时间。
这几天在写论文,要在数据压缩上找点可写之处,分析数据的组成和格式。结果焦点还是在一个十六进制字节。使用半字节压缩法,很适合项目和论文的需要。而且项目当中就是这样做的。
经查,一个十六进制字节是这样定义的:char a=0xFF=255.
又查,一个字节总是由一对十六进制数来表示,上面的a是一个字符,即一个字节;十六进制数F和F组成以一对十六进制数。这对十六进制数转换为二进制数为:11111111,正好是8 bits,一个字节。
讲讲二进制、字节、16进制
1.二进制就是逢二进一,只有0和1。
一个字节就是一个英文字母、阿拉伯数字或半个汉字所占的空间(一个汉字占2个字节)。
16进制就是逢16进一,只有0123456789abcdef这16个数字(或子母)。
由于电脑里都是二进制的数,而16进制与二进制有简单的转换关系,所以很多书上都写16进制的数。
一个字节占用八位的二进制数,及一个字节等于8位二进制。
所以..二进制是计算机的一种语言.字节是一个单位.所以说:计算机里面存储数据是以字节为单位的,即8个二进制代码。而不是以二进制代码储存的。
在
机器内部,8位或者16位对它来说都一样,都是1或0,而程序设计的时候,人为的要求机器按8位或16位来处理。16位的音乐文件所包含的信息比8位的多
得多(差256倍),因此你也可以将16位二进制数看作音乐文件的一个单元,但约定成2个字节。就相当于统一了单位,便于交流。
?方法二、16进制中A用二进制表是多少?A代表10 ,就是二进制的 1010。 我例个表出来。十六进制以 4 位为一小段.8进制以 3 位为一小段 。
0 0000
1 0001
2 0010
3 0011
5 0101
...
9
1001
A 1010
B 1011
C 1100
...
F 1111
所以A5就是 1010
0101。
所以把十六进制中每个位数上的数单独转换成一个4位的二进制数,再做拼接
A5
A
--1010
5 --0101
所以 A5 -1010 0101。
十六进制字节 & 十六进制转二进制的更多相关文章
- 怎么把一个整数转化为3个十六进制字节 delphi
如何把一个整数转化为3个十六进制字节 delphi比如把整数149259(都是6位数据整型数) 转换为十六进制为2470B然后再分开为三个字节02 47 0B,求实现代码示例var ID: Integ ...
- JAVA 十六进制和十进制、二进制转换
java十六进制和十进制.二进制转换 十进制转化成十六进制 Integer x = 100; hex = x.toHexString(x); 十六进制转化成十进制 Integer.parseInt(h ...
- C# 判断字符串是否符合十六进制,八进制,二进制和十进制整数格式的正则表达式
/// <summary> /// 判断是否十六进制格式字符串 /// </summary> /// <param name="str">< ...
- C++二进制字符串转十六进制字符串 十六进制字符串转二进制字符串
============================================== 二进制转十六进制 ============================================ ...
- java 十进制转十六进制、十进制转二进制、二进制转十进制、二进制转十六进制
//10进制转16进制 Integer.toHexString(20); //10进制转2进制 Integer.toBinaryString(10); //16进制转10进制 Integer.pars ...
- delphi如何把一个整数转化为4个十六进制字节
var s:string; len:Integer; AData:TBytes; begin s:=IntToHex(149259,6);//返回6位字符串 len ...
- 字节(byte)、二进制、字节流、字符流相关概念分析
https://blog.csdn.net/changwilling/article/details/52065955 1.字节: 字(Byte)节是长度单位.位(bit)也是长度单位. 因为计算机通 ...
- [转载] C++位运算:将一个4字节整数的二进制表示中的001替换为011
#include <iostream> #include <assert.h> /** * Key: * * get someone bit: num & (mode1 ...
- Java中二进制字节与十六进制互转
在Java中字节与十六进制的相互转换主要思想有两点: 1.二进制字节转十六进制时,将字节高位与0xF0做"&"操作,然后再左移4位,得到字节高位的十六进制A;将字节低位与0 ...
随机推荐
- QCon 2013 上海 -- 互联网金融
互联网金融应该是最近很火爆的一个领域.由于阿里小贷和余额宝的初步成功,这一块都被视为破除传统金融领域垄断的法宝.大家可能都知道,电商平台.金融和大数据是阿里集团未来的三个重要方面.而关于金融,马云最经 ...
- 使用gulp、yeoman、bower建站
前端建站工具 标签 : 工具 *** 脚手架:yeoman 用途 快速搭建新项目 为项目增加新部分 创建模块或者包 引导新服务 ... 开始 安装yo和generator npm i -g yo np ...
- ArcGIS Desktop10.2与CityEngine2012兼容问题
要培训ArcGIS Desktop和Esri CityEngine2012.在一台机器上装好Desktop10.2之后,在注册Esri CityEngine2012时报出了"7019:Inv ...
- POJ3041Asteroids(二分图最少顶点覆盖)
最少顶点覆盖 = 二分图最大匹配 证明见 http://hi.baidu.com/keeponac/item/111e3438988c786b7d034b56
- UVa 1312 Cricket Field (枚举+离散化)
题意:在w*h的图上有n个点,要求找出一个正方形面积最大,且没有点落在该正方形内部. 析:枚举所有的y坐标,去查找最大矩形,不断更新. 代码如下: #include <cstdio> #i ...
- (博弈论)hdoj 1525 Euclid's Game
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1525 题目大意:Stan和Ollie在玩一个游戏,a和b两个数字,每次可以选择较大的数减去较小的数的若 ...
- nhibernate操作sql2008数据库(添加数据失败)
今天遇到一错误困了我一天,如此痛恨,遂记录于此: nhibernate框架+MVC模式搭的项目,添加数据时报错: "could not insert: [KXRMallManage.Mode ...
- Java工具类 Apache Commons:commons-lang
Commons Lang The standard Java libraries fail to provide enough methods for manipulation of its core ...
- jquery与ajax应用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- POJ 3006 Dirichlet's Theorem on Arithmetic Progressions 快筛质数
题目大意:给出一个等差数列,问这个等差数列的第n个素数是什么. 思路:这题主要考怎样筛素数,线性筛.详见代码. CODE: #include <cstdio> #include <c ...