我正在转换十进制数
42541956123769884636017138956568135808
到十六进制数
20014860486000000000000000008880
我转换后的值为div
我的Postgresql转换功能是
if (realContent.length == 0) {
console.log("empty");
$("#textBox").text(" ")
$("#textBox").text("")
}
我正在使用modulo-remainder方法。所以我使用20014860486000000000000000019980
获取给定数字的模数,并将给定的十进制数除以CREATE OR REPLACE FUNCTION ipv6_dec_hex(ip_number numeric)
RETURNS character varying AS
$BODY$
DECLARE
ip int :=null;
ip1 character varying := '';
ip2 character varying;
BEGIN
while(ip_number != 0)
LOOP
ip = trunc(mod(ip_number,16));
ip_number = trunc(ip_number/16);
ip1:=ip1||to_hex(ip);
raise notice 'ip is %',ip;
raise notice 'ip_number is %',ip_number;
END LOOP;
ip2:=reverse(ip1);
return ip2;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
,以进行连续的十六进制数转换。在第一次迭代中获取模数时,我得到了
16
作为十六进制数16
的最后一位数的余数,下一个股息为
0
在第二次迭代中取模数20014860486000000000000000008880
得到
的最后一位数的第二位
2658872257735617789751071184785508488
作为十六进制数字2658872257735617789751071184785508488
,下一个股息为
8
在第三次迭代中,取20014860486000000000000000008880
的模数
166179516108476111859441949049094281
作为余数,但166179516108476111859441949049094281
是要进的确切十六进制数字 从十六进制数9
的最后一位数字开始的第三位
如果上述股息价值为8
而不是20014860486000000000000000008880
然后我会得到余数值为166179516108476111859441949049094280
。我怎么能得到确切的十六进制值166179516108476111859441949049094281
而不是8
答案 0 :(得分:0)
如果你这样说,你将得到浮点除法,这将导致精度损失。
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.jfdimarzio.labb3.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
android:visibility="visible"
tools:layout_editor_absoluteX="16dp"
tools:layout_editor_absoluteY="16dp" />
</android.support.constraint.ConstraintLayout>
反而说
ip_number = trunc(ip_number/16);
编辑后完整来源:
ip_number = div(ip_number,16);