关于java8位二进制的信息
本篇文章给大家谈谈java8位二进制,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、JAVA十进制转八位二进制
- 2、JAVA中byte类型的介绍。 谢谢
- 3、java语言实现8位二进制数的乘法。
- 4、JAVA中怎么将int数据转换为byte数据?
- 5、编写一个Java程序输入一个8位二进制数输出一个10进制数
JAVA十进制转八位二进制
感觉你这么做有点麻烦了。
直接用java现成的一些方法,Integer类的方法和String.format方法
int input = 15;
String binaryString = Integer.toBinaryString(input);//1111
int binaryInt = Integer.parseInt(binaryString);//1111
System.out.println(String.format("%08d",binaryInt));//00001111
JAVA中byte类型的介绍。 谢谢
Java也提供了一个byte数据类型,并且是基本类型。java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte。
byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。
在计算机中,8位带符号二进制数的取值范围是[-128, 127],所以在Java中,byte类型的取值范围也是[-128, 127]。
运算规则:
####正数的最高位都是 0 ,正数的值就是二进制表示的值。 ####
####负数的最高位都是 1 ,负数的值是 取反后加一 然后加个负号得到得值。 ####
用8位的二进制来说明此规则:
比如:00000001。最高位是0 为正数 ,那么表示的就是 十进制的 1。
再比如:10000001.最高位是1 为负数,值是多少?取反得到 01111110 加1 得到 01111111 ,那么值为 -127
理解此运算规则我们正式开始说byte,byte正好是8位的二进制数。short是16位 int是32位 long是64位。
上述代码,最后会输出-56。原因如下:
200的二进制表示是111001000,由于int是32位的二进制,所以在计算机中,实际上是00000000000??111001000,当int转成byte的时候,那么计算机会只保留最后8位,即11001000。
然后11001000的最高位是1,那么表示是一个负数,而负数在计算机中都是以补码的形式保存的,所以我们计算11001000的原码为00111000,即56,所以11001000表示的是-56,所以最后test的值为-56。
扩展资料
Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。
在一个解释性的环境中,程序开发的标准“链接”阶段大大消失了。如果说Java还有一个链接阶段,它只是把新类装进环境的过程,它是增量式的、轻量级的过程。
因此,Java支持快速原型和容易试验,它将导致快速程序开发。这是一个与传统的、耗时的“编译、链接和测试”形成鲜明对比的精巧的开发过程。
参考资料来源:百度百科—Java(计算机编程语言)
java语言实现8位二进制数的乘法。
//不知道这是不是你要的结果
public static void main(String args[])
{
String a="";//定义从控制台输入的数A
String b="";//定义从控制台输入的数A
int cnum=0,dnum=0;//定义两个数转化为十进制的数
Scanner scanner =new Scanner(System.in);
System.out.println("请输入任意的一个八位的二进制数A");
a=scanner.nextLine();//接收A
if(a.length()!=8){//判断长度
System.out.println("A的输入长度不正确!");
}else{
boolean Atrue=true;//定义布尔量验证A是否是二进制数
for(int i=0;ia.length();){//验证过程,并将其转化为10进制数
String substra=a.substring(i, ++i);
int c=1;
if(!substra.equals("0")!substra.equals("1")){//验证
Atrue=false;
break;
}
if(substra.equals("1")){//转化十进制
for(int j=0;ja.length()-i;j++){
c=c*2;
}
cnum=cnum+c;
}
}
if(!Atrue){
System.out.println("A不是合法的二进制数!");
}else{
System.out.println("A输入正确");
System.out.println("A转化为10进制为"+cnum);
System.out.println("请输入任意的一个八位的二进制数B");
b=scanner.nextLine();
if(b.length()!=8){
System.out.println("B的输入长度不正确!");
}else{
boolean Btrue=true;
for(int i=0;ib.length();){
String substrb=b.substring(i, ++i);
int d=1;
if(!substrb.equals("0")!substrb.equals("1")){
Btrue=false;
break;
}
if(substrb.equals("1")){
for(int j=0;jb.length()-i;j++){
d=d*2;
}
dnum=dnum+d;
}
}
if(!Btrue){
System.out.println("B不是合法的二进制数!");
}else{//输入合法计算结果
System.out.println("B输入正确");
System.out.println("B转化为10进制为"+dnum);
System.out.println("A和B的乘积为"+dnum*cnum);
System.out.println("A和B的乘积转化为二进制"+Integer.toBinaryString(dnum*cnum));
}
}
}
}
}
JAVA中怎么将int数据转换为byte数据?
JAVA中根据以下代码将int数据转换为byte数据:
public static byte[] int32ToBytes(int val) {
int size = Integer.SIZE / Byte.SIZE;
byte[] ret = new byte[size];
for (int i = 0; i size; ++i) {
ret[i] = (byte) (val (8 * i) 56);
}
return ret;
}
扩展资料
Java也提供了一个byte数据类型,并且是基本类型。java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte。
byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。在计算机中,8位带符号二进制数的取值范围是[-128, 127],所以在Java中,byte类型的取值范围也是[-128, 127]。
运算规则:
####正数的最高位都是 0 ,正数的值就是二进制表示的值。 ####
####负数的最高位都是 1 ,负数的值是 取反后加一 然后加个负号得到得值。 ####
编写一个Java程序输入一个8位二进制数输出一个10进制数
//编写一个Java程序输入一个8位二进制数输出一个10进制数
import java.util.Scanner;
public class Day05 {
static Scanner sc=new Scanner(System.in);
public static void main(String[] args) {
String str="a";
while(true) {
System.out.print("输入二进制,非法的输入将会被舍弃,输入over结束测试 : ");
str=sc.nextLine();
if(str.contentEquals("over")) {
System.out.println("结束!");
break;
}
outNum(str);
}
}
static void outNum(String str) {
str=str.replaceAll("[^10]", "");
if(str.length()1||str.length()8) {
str="0000000";
}
System.out.print("你输入的是:"+str+"\t对应十进制是:"+Integer.parseInt(str, 2)+"\r\n");
}
}
关于java8位二进制和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-05,除非注明,否则均为
原创文章,转载请注明出处。