2025年颜色代码是(颜色代码是几进制)

颜色代码是(颜色代码是几进制)p 颜色值进制转换 br 专业的和非专业程序员在编程时都碰到过颜色值的表达式 特别是在编制网页和设计界面时 都要选择颜色 各语言的颜色值表达式就两种 十六进制的颜色值 hex 和十进制的 RGB 格式 现成的调色板颜色表也是这两种格式 写代码时会遇到写颜色值码 就会用到这两种颜色值的转换 p

大家好,我是讯享网,很高兴认识大家。



 <p>颜色值进制转换<br /> 专业的和非专业程序员在编程时都碰到过颜色值的表达式。特别是在编制网页和设计界面时&#xff0c;都要选择颜色。各语言的颜色值表达式就两种&#xff0c;十六进制的颜色值hex$和十进制的RGB格式。现成的调色板颜色表也是这两种格式。写代码时会遇到写颜色值码&#xff0c;就会用到这两种颜色值的转换。基础的方法是十进制转十六进制&#xff0c;反过来十六进制转十进制二种方法。颜色值是分3段来转换的&#xff0c;若是aRGB格式分4段。<br /> 每段只需要 0-255 &lt;转换&gt; 00 &#xff0d; ff。<br /> 颜色值表达格式&#xff1a;<br /> hex &#61; 0xff7dff       RGB&#61;(255,125,255)<br /> hex &#61; # ff7dff        RGB&#61;(255,125,255)<br /> aHex &#61; 0xff7d7dff    aRGB&#61;(255,125,125,255)</p> 

讯享网

今写了二个进制转换函数:
十进制转十六进制 dec2hex ()
十六进制转十进制 hex2dec ()

以及二个颜色值转换函数:
十六进制颜色值转RGB(r, g, b) :hex2RGB ()
RGB颜色值转为十六进制颜色值:RGB2hex ()

004516e045324e72ab1cb572017b1cd9.png
讯享网

6663429c6efc4e0dbcb1519cf56dbeac.png 

4ac7aae51d1f4b229e77ef5e23936cb6.png 

 

hex2RGB (){  //十六进制颜色值转RGB(r, g, b)
 //输入十六进制颜色值转换为十进制RGB格式颜色值
 //例: color\(&#61;&#34;0xffe992&#34; ;  格式输入颜色值字串</p> <p>        print &#34;颜色值字串 &#61; &#34;,color\) ;
    get\(&#61;subString (color\), 2, 2);
       hex2dec () ;
       R=dec ;
    get\(&#61;subString (color\), 4, 2);
       hex2dec () ;
       G=dec ;
    get\(&#61;subString (color\), 6, 2);
       hex2dec () ;
       B=dec ;
    print “RGB = ”, “( ”,R,“ , ”,G,“ , ”,B,“ )” ;    //输出
       print “  ” ;
}//hex2RGB ()

test (){    //测试十六进制颜色值转换
//十六进制颜色值转为RGB
    clearOutput ();
    color\(&#61;&#34;0xffe992&#34; ;    //格式输入颜色值字串<br />         hex2RGB () ;<br />     color\)=“0x007d7d” ;    //格式输入颜色值字串
        hex2RGB () ;

    color\(&#61;&#34;0x00abff&#34; ;    //格式输入颜色值字串<br />         hex2RGB () ;<br />  //反转 &gt; <br />        print &#34;反转   &gt; &#34; ;<br />        RGB2hex ();<br />     color\)=“0x807aff” ;    //格式输入颜色值字串
        hex2RGB () ;
 //反转 &gt; 
        print “反转   &gt; ” ;
        RGB2hex ();
}//test ()


RGB2hex (){
//RGB颜色值转为十六进制颜色值
 string ss, ss1, ss2, ss3 ; 
    //传入 R=255 ;  G=128 ; B=128 ; 
   // dec To hex  and show hex
    dec=R ;  dec2hex() ;  ss1=hex ;
    dec=G ;  dec2hex() ;  ss2=hex ;
    dec=B ;  dec2hex() ;  ss3=hex ;  
         ss=“0x”+ss1+ss2+ss3 ;
    print “RGB = ”, “( ”,R,“ , ”,G,“ , ”,B ,“ )” ;
    print “十六进制颜色值 = ”, ss ;
    print “  ”;
}//RGB2hex ()

test16 (){    //测试RGB转换十六进制颜色值
    clearOutput ();
     R=255 ;  G=128 ; B=128 ;
     RGB2hex ();

     R=55 ;  G=98 ; B=255 ;
     RGB2hex ();
     R=155 ;  G=255 ; B=25 ;
     RGB2hex ();
     R=255 ;  G=233 ; B=146 ;
     RGB2hex ();

}//test16 ()

72c71713a4f540e5825f374d15ca8621.png

c5f30f62ead54f5f9cb4f68eb06a5861.png  

//二个函数:
//十进制转十六进制 dec2hex ()
//十六进制转十进制 hex2dec ()

dec2hex (){    
//十进制非负整数int dec 转为十六进制值 hex \(<br />  string hx\) ;
  hx\(&#61;&#34;0ABCDEF&#34; ;<br />         hex&#61;&#34;&#34;;     //init 输出串</p> <p> DecToHex :<br />   // do calculate until dec&#61;0, return hex<br />       k&#61;dec-dec/16*16 ;  //k&#61;dec Mod 16, k&#61;dec % 16<br />       dec&#61;dec/16 ;            //整除&#xff0c;dec16<br />       hex&#61;subString (hx\), k,1)+hex ;  
           if (dec&gt;0) goto DecToHex ;
      //return string hex 
}//dec2hex ()

hex2dec (){  
//传入十六进制数转换为十进制数
//传入 string  get\( 输出 int dec <br />         nlen&#61;len (get\));      //字串长度
        dec=0 ;                 //init 置初值 0
 //开始计算 &gt;
      for (i=0; i&lt;nlen; i++){
             a\(&#61;subString (get\), i, 1);
 //字符串转为数值的方法很多,我采用最简单直观的写法,字母大小写都可以。
        if (a\(&#61;&#61;&#34;0&#34;) k&#61;0 ;<br />         if (a\)==“1”) k=1 ;
        if (a\(&#61;&#61;&#34;2&#34;) k&#61;2 ;<br />         if (a\)==“3”) k=3 ;
        if (a\(&#61;&#61;&#34;4&#34;) k&#61;4 ;<br />         if (a\)==“5”) k=5 ;
        if (a\(&#61;&#61;&#34;6&#34;) k&#61;6 ;<br />         if (a\)==“7”) k=7 ;
        if (a\(&#61;&#61;&#34;8&#34;) k&#61;8 ;<br />         if (a\)==“9”) k=9 ;
        if (a\(&#61;&#61;&#34;A&#34;||a\)==“a”) k=10 ;
        if (a\(&#61;&#61;&#34;B&#34;||a\)==“b”) k=11 ;
        if (a\(&#61;&#61;&#34;C&#34;||a\)==“c”) k=12 ;
        if (a\(&#61;&#61;&#34;D&#34;||a\)==“d”) k=13 ;
        if (a\(&#61;&#61;&#34;E&#34;||a\)==“e”) k=14 ;
        if (a\(&#61;&#61;&#34;F&#34;||a\)==“f”) k=15 ;
         kn=nlen-i-1 ;     //高权位起降幂计算
         dec=dec+(int)(k*pow(16,kn)) ;   //乘方累加
              }       // return dec
 }//hex2dec ()

// End

小讯
上一篇 2025-06-12 11:47
下一篇 2025-06-12 19:31

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/193047.html