java 16进制的问题 String str="0xff";怎么得到整形的 0xffjava中的 Integer.parseInt() 貌似不行 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Integer.parseInt(String srt, int jinzhi)Integer.parseInt(String srt) 是默认的10进制。换成16进制就好了 String str="FF";System.out.println(Integer.valueOf(str,16).toString() ); 回楼上的 Integer.valueOf(str,16) 成 10进制的 但是我现在要的是16进制整形的 如果是 Integer.toHexString(Integer.valueOf(str,16)) 它得到的还是16进制字符串型的 要16进制整形的目的是为了 再放入 整形数组 楼主 你好好去补基础吧! 不管16、8、2进制,都只是表现形式,存在内存或硬盘中的都是二进制的,Integer.valueOf(str,16)已经能把16进制表现形式的str转化为int,你要的不就是这个吗?数值对于int的才是唯一的属性。 不同的进制只是外部的表现形式,内部存储都是2进制。 最终的存储是用二进制的但是 现在是这种情况 有一个int型数组 里面的内容格式是 0xRRGGBB 16进制的颜色。现在想把其中的某种颜色修改后,再存入数组 。我的做法是先把16进制的转成字符串 得到 “0xRRGGBB” 的形式,再进行切割 转换成10进制加减 计算完之后 得到一个新的 “0xRRGGBB” 数值。 问题就再这里了,新的数值是拼接起来的,为字符串型。 无法存入 int型数组了。所以问题就是 “0xGGRRBB” 怎么放入int型数组的问题。 16进制最大的字符 是F, G R 是不可能存在的。一旦使用正确的进制把 str 转化为int,数值就产生了。楼主,你的表达存在一定的问题,去看下16、8、2进制基础可能会好些。你存放颜色使用这种方式无非是想省内存,感觉完全没有必要这样去做。 多谢大家的回答,16进制中最大的确实是F.来听下我的需求吧.1.我从一张图片中获得ARGB(int型数组)其中的数据格式是0xRRGGBB 比如 0x8965AF2.其中的AF肯定表示的是绿色的值,我现在如果想修改这个绿色的值,肯定是进行切割得到 AF 然后 进行相关的处理.3.处理之后得到新的值 比如 是“0x8965FF” (这个值是由“ox8965” 和 “FF” 拼接而成 为字符串型)。4.最后将 得到的 ”0x8965FF” 转成 int型放入 int型数组 (问题就在这里 怎么得到 int型的 0x8965FF) 调用 方法setARGB(int[]) 保存.int型数组中的格式只能是 0xRRGGBB 16进制的格式 楼主! 这个是颜色数值和0xXXXX表达方式的转化问题,这个要看0xXXXX是如何转化为int的值的才行。这个应该属于颜色的驱动问题了,即负责颜色在内存中的表达方式的转化,在网上搜下这样的文章看下吧,应该比较简单的。这个和16进制就没关系的。 楼主,使用0xRRGGBB的方式表达颜色,你没有理解里面的原理,你根本不用进行拆分。这种方式表达颜色是将整型的16-23位作为红色,8-15位作为绿色,0-7位作为蓝色。你要是想更改颜色的话,只需要对Integer.parseInt(x,16)出来的整型数值做位运算操作即可,比如0xff0000&1即可表示蓝色值加1。 关于SpringAOP代理类与被代理类的疑问,有请众位高手 如何使IIS6.0+tomcat整合 一个简单系统的考勤管理实现问题 关于使用logic:iterate 整合struts 和hiberante分页的问题 请问这样如何进行EJB3的进行依赖注入 有个ejb问题已经困扰我20多年了,请大家帮忙看看! 合肥的程序员请进。。。。大家来个薪水调查吧 是学习J2EE,还是学习手机开发。 寻找struts应用的思路 问个线程的问题 提示The requested resource is not available错误 私塾在线精华课程汇总贴(含源码和PPT)
System.out.println(Integer.valueOf(str,16).toString() );
Integer.valueOf(str,16) 成 10进制的 但是我现在要的是16进制整形的
如果是 Integer.toHexString(Integer.valueOf(str,16)) 它得到的还是16进制字符串型的
要16进制整形的目的是为了 再放入 整形数组
Integer.valueOf(str,16)已经能把16进制表现形式的str转化为int,你要的不就是这个吗?
数值对于int的才是唯一的属性。 不同的进制只是外部的表现形式,内部存储都是2进制。
但是 现在是这种情况 有一个int型数组 里面的内容格式是 0xRRGGBB 16进制的颜色。
现在想把其中的某种颜色修改后,再存入数组 。我的做法是先把16进制的转成字符串 得到 “0xRRGGBB” 的形式,再进行切割 转换成10进制加减
计算完之后 得到一个新的 “0xRRGGBB” 数值。 问题就再这里了,新的数值是拼接起来的,为字符串型。 无法存入 int型数组了。所以问题就是 “0xGGRRBB” 怎么放入int型数组的问题。
你存放颜色使用这种方式无非是想省内存,感觉完全没有必要这样去做。
来听下我的需求吧.
1.我从一张图片中获得ARGB(int型数组)其中的数据格式是0xRRGGBB 比如 0x8965AF
2.其中的AF肯定表示的是绿色的值,我现在如果想修改这个绿色的值,肯定是进行切割得到 AF 然后 进行相关的处理.
3.处理之后得到新的值 比如 是“0x8965FF” (这个值是由“ox8965” 和 “FF” 拼接而成 为字符串型)。
4.最后将 得到的 ”0x8965FF” 转成 int型放入 int型数组 (问题就在这里 怎么得到 int型的 0x8965FF) 调用 方法setARGB(int[]) 保存.int型数组中的格式只能是 0xRRGGBB 16进制的格式
应该比较简单的。这个和16进制就没关系的。