十六进制

Java常量与变量

China☆狼群 提交于 2020-03-15 06:51:09
1.标识符 在Java中,变量、常量、函数、类都可以称为程序实体,而他们的名称统称为标识符。 (1)标识符的命名规则 标识符可以由字母、数字、下划线(_)和$组成,不能以数字开头。 标识符严格区分大小写。 标识符不能是Java关键字和保留字。 标识符的命名最好能反映出其作用。 需要说明的是,以下划线(_)开头是合法的,但是在Go语言中不合法。 python语法中也是合法的,只不过表示私有变量。 2.关键字 关键字是被编程语言保留的字符序列,编程人员不能将其当作标识符,因此关键字也被称为保留字。 java中的关键字: Java总共有50多个关键字,还有几个保留字,比如goto。 3.变量 在数学概念中,变量表示没有固定值且可以改变的数。 从计算机系统的角度来看,变量是一段或多段用来存储数据的内存。 变量的三个元素:变量类型、变量名和变量值。 变量的命名规则:   满足标识符的命名规则。   符合驼峰法命名规范。(变量都以小写字母命令,如果由多个单词组成,除首单词外其余单词第一个字母大写)   变量名的长度没有限制。 变量命名方式: (1)先定义类型,再进行赋值   v_type v_name   v_name = value (2)直接定义变量   v_type v_name = value 4.数据类型 (1)基本数据类型 不同数据类型,占据的内存大小: 不同数据类型的取值方位:

计算机进制间的转换

 ̄綄美尐妖づ 提交于 2020-03-12 13:33:54
进制的转换 二进制 指二进制计数系统,基于2的幂,用数字"0 和 1"表示。 逢2进一 二进制数第一位上的1 相当于十进制第一位上的1 二进制数第二位上的1 相当于十进制第二位上的2 二进制数第三位上的1 相当于十进制第三位上的4 二进制数第四位上的1 相当于十进制第四位上的8 二进制数第五位上的1 相当于十进制第五位上的16 ···· 二进制数: 1011 1*2^3 + 0*2^2 + 1*2^1 + 1\2^0 = 11(十进制) 八进制(octal) 指八进制计数系统,基于8的幂,用数字"0~7"表示。 逢8进一 八进制数第一位上的1 相当于十进制第一位上的1 八进制数第二位上的1 相当于十进制第二位上的8 八进制数第三位上的1 相当于十进制第三位上的64 八进制数第四位上的1 相当于十进制第四位上的512 八进制数:451 4*8^2 + 5*8^1 +1*8^0 = 297(十进制) 八进制转换二进制 每个八进制位会对应3个二进制位,如下表: 八进制 等价的二进制 八进制 等价的二进制 0 000 4 100 1 001 5 101 2 010 6 110 3 011 7 111 例如:八进制数 166 的二进制数位 1 110 110 八进制 166 中的 1、6、6 分别对应二进制数 001、110、110 注意:在将八进制转化为二进制后,二进制中的 0 不能省略。

实战——读取并分析BMP图像的十六进制数据

五迷三道 提交于 2020-03-10 20:25:02
文章目录 【内容概述】 【获取16进制数据】 【文件头】 【位图头】 【调色板】 【24位真彩图的位图数据】 【图像灰度化】 【灰度化后数据格式的变化】 【读32×32灰度图片的位图数据】 【位图数据的存储和像素位置的关系】 【总结】 【内容概述】 图像压缩 在ubuntu系统下读出BMP图像的十六进制数据 分析24位真彩BMP文件的文件头、图像头、调色板、位图数据 截取图像中心32×32区域,并灰度化 分析灰度化后带来的改变 位图数据存储方式与像素位置的关系 接下来我们就开始叭 ~ (* ^ ω ^ *) 【图像压缩】 这是一个 非必要 步骤,如果你的原图很小就不用啦。但是如果原图很大的话,建议压缩一下,不然数据量会hin大的。可以用格式工厂做 (有点大材小用嘞但是我首先就想到这个方法) .具体步骤可参考 这个说明 。我通过压缩把原本4032×3016的图像压缩成128×95的了。看看这个变化叭: 【压缩前】 【压缩后】 【获取16进制数据】 这一步我是在Ubuntu系统下进行的,我把原图命名为【ballon.bmp】 (因为是2019跨年时候在珠海长隆拍的小丑气球) 在图片所在文件夹打开终端,输入 $ xxd -i ballon.bmp ballon.h 并回车,具体操作可以参考 这个说明 。然后可以看到文件夹下新生成了一个.h文件,打开之后就可以看到十六进制的数组啦。

VC串口通信实验

孤者浪人 提交于 2020-03-10 10:26:39
实验一:VC串口通信实验 一、实验目的 通过实验让学生了解串口通信的工作原理。 二、实验器材 计算机两台 串口连接线一根 GND(pin5) GND(pin5) TXD(pin3) RXD(pin2) RXD(pin2) TXD(pin3) RTS(pin7) CTS(pin8) CTS(pin8) RTS(pin7) DSR(pin6) DTR(pin4) DTR(pin4) DSR(pin6) 三、实验要求 用VC++对计算机的串口进行编程,并作一个简单的串口查询通讯程序。用一条九针的DB-9串口通讯线将计算机的com1口和com2口相连,com1作为接受口,com2作为发送口。 四、实验步骤 1. 建立项目 打开VC++6.0,建立一个基于对话框的MFC应用程序SCommTest(与我源代码一致,等会你会方便一点); 2. 在项目中插入MSComm控件 选择Project菜单下Add To Project子菜单中的 Components and Controls…选项,在弹出的对话框中双击Registered ActiveX Controls项(稍等一会,这个过程较慢),则所有注册过的ActiveX控件出现在列表框中。 选择Microsoft Communications Control, version 6.0,单击Insert按钮将它插入到我们的Project中来

信息的表示和处理(一)信息存储

依然范特西╮ 提交于 2020-03-08 11:42:38
信息存储 大多数计算机使用8位的块,或者字节(byte),作为最小的可寻址的内存单位,而不是访问内存中单独的位。机器级程序将内存视为一个非常大的字节数组,称为虚拟内存。内存的每个字节都由一个唯一的数字来标识,称为它的地址,所有可能地址的集合就称为虚拟地址空间。顾名思义,这个虚拟地址空间只是一个展现给机器级程序的概念性映像。实际的实现是将动态随机访问存储器(DRAM)、闪存、磁盘存储器、特殊硬件和操作系统软件结合起来,为程序提供一个看上去统一的字节数组。 十六进制表示法 一个字节由八位组成。在二进制表示法中,它的值域是0000 0000 2 ~1111 1111 2 。如果看成十进制整数,它的值域就是0 10 ~255 10 。两种符号表示法对描述位模式来说都不是非常方便。二进制法太冗长,而十进制表示法与位模式转化很麻烦。代替的方法时,以16位基数,或者叫做十六进制数,来表示位模式。十六进制(简写为“hex”)使用数字0~9以及字符A~F来表示十六个可能的值。图1-1展示了十六个十进制数字对应的十进制值和二进制值。用十六进制书写,一个字节的值域为00 16 ~FF 16 。 图1-1 十六进制法。每个十六进制数字都对十六个值中的一个进行了编码 在C语言中,以0x或0X开头的数字常量被认为是十六进制的值。字符A~F既可以大写也可以小写,甚至可以大小写混合。比如FA1D37B 16

蓝桥杯练习8

杀马特。学长 韩版系。学妹 提交于 2020-03-07 11:14:09
/** 问题描述   十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。   给出一个非负整数,将它表示成十六进制的形式。 输入格式   输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647 输出格式   输出这个整数的16进制表示 样例输入 30 样例输出 1E */ package lanqiaozhenti; import java.util.*; public class test8 { public static void main(String[] args) { Scanner in =new Scanner(System.in); int s=in.nextInt(); System.out.println(Integer.toString(s,16).toUpperCase()); } } 来源: CSDN 作者: 录了个缤 链接: https://blog.csdn.net/qq_44365652/article/details/104710059

无符号int(十进制/十六进制)转字符串string

六眼飞鱼酱① 提交于 2020-03-05 18:29:35
std::string uint2string(const uint32_t value, int radix /*= 10*/) { std::string strString = ""; switch (radix) { case 10: strString = std::to_string(value); break; case 16: { char chTemp[64] = { 0 }; sprintf_s(chTemp, "0x%02x", value); strString = chTemp; } break; default: break; } return strString; } 来源: https://www.cnblogs.com/Zoya-/p/12421545.html

测试笔记:测试基础

纵然是瞬间 提交于 2020-03-04 00:05:24
windows基础 软件定义 计算机=硬件加软件 软件=程序(program)+文档(document) 软件测试的对象:程序和文档都要测试 软件开发阶段划分 阶段一:需求分析阶段(由需求分析人员完成;产出物:《需求规格说明书》) 阶段二:设计阶段(由系统架构师/分析师完成;产出物:《概要设计说明书》和《详细设计说明书》) 阶段三:编码阶段(由开发人员完成/程序员完成;产出物:程序/代码) 不同的开发阶段引入的bug比例如何? 需求分析阶段引入的bug最多(大概占bug总数的55%左右) 其次是设计阶段(大概占缺陷总数的25%左右) 最少的是编码阶段(大概占缺陷总数的15%左右) 还有5%左右的缺陷是由系统兼容性或者配置原因造成的。 需求分析阶段引入的bug最多,其次是设计阶段,引入bug阶段最少的是编码阶段 因此:1)在测试中不能只测程序,文档也必须测 2)测试工作应尽早介入,并且贯穿整个开发周期始终(尽早测试原则,不断测试原则) 什么是软件缺陷 1.软件的缺陷–defect,bug 2.软件缺陷的定义:1)需求要求的功能没有实现 2)实现了需求没有的功能(画蛇添足) 3)软件出现了指明不应出现的错误 4)需求虽未明确指明,但是应该实现的功能没有实现 eg:法规; 说明:需求不是完美的,有可能有遗漏,但是测试人员应该专业,发现bug就要提交,即使需求中没有提及 5)软件不易使用

汇编语言——十六进制数据前加0规则

我的未来我决定 提交于 2020-03-03 02:42:38
问题解析 0~9开头的不用加,A~F开头的要加 主要是汇编语言编译器的设计者需要用户按这个规则编程,否则它设计的编译器不知道你写的是什么。 因为标号不能以0~9的数字开头,但可以以字母开头, 导致无法识别数值与标记。 十六进制 以A~F打头的数字出现在指令中时,前面一定要加一个数字0,以免与其它符号相混淆。 参考文章 https://bbs.csdn.net/topics/370053149 https://zhidao.baidu.com/question/185131872.html 来源: CSDN 作者: STZG 链接: https://blog.csdn.net/weixin_43272781/article/details/104617910

java学习第二天

老子叫甜甜 提交于 2020-03-02 07:14:33
Java中的变量与数据类型 常见的数据类型转换 自动类型转换(隐藏) 由低级向高级的类型转换 强制类型转换(显示) 从高级别类型强制向低级别类型的转换 常用的进制 1、基本概念 日常生活中采用十进制来表示整数,逢十进一 计算机采用二进制表示整数,逢二进一 计算机还有八进制、十六进制、三十二进制 2、十进制和二进制之间的转换 正十进制转二进制 除二取余法:让十进制的整数不断除以2取出余数,直到商为0,将余数逆序排列 拆分法:将十进制的整数拆分为若干个二进制权重的和,有该权重则在下面写1,否则写0即可 列如:15 15可拆分为:8+4+2+1,则15的二进制等于:1111 2.正二进制转换为十进制 权加法:让二进制的每个数字乘以当前位的权重再相加即可 3.负十进制转换为二进制的方法 将其绝对值转换为二进制,然后再按位取反加一 列如:-20 -20的绝对值转换为二进制:00010100 按位取反:11101011 按位取反再加一:11101100 4.负二进制转换为十进制方式 先按位取反再加一,然后转换为十进制整数后在其前面添加符号即可 列如:11101100 按位取反:00010011 再加一:00010100 转化为十进制:20 添加符号: -20 总结:在计算中采用二进制序列中的最高位(最左边)代表符号:使用1代表负数,0代表非负数 二进制和八进制之间的转换