当前位置: 首页 > news >正文

网页设计与制作教程期末考试成都网站改版优化

网页设计与制作教程期末考试,成都网站改版优化,网站建设与网页设计 难学吗,做外贸必须建网站吗练习2.1 向tempconv包添加类型、常量和函数用来处理Kelvin绝对温度的转换,Kelvin 绝对零度是−273.15C,Kelvin绝对温度1K和摄氏度1C的单位间隔是一样的。 conv.go package tempconv// CToF converts a Celsius temperature to Fahrenheit. func CToF(c …

练习2.1

向tempconv包添加类型、常量和函数用来处理Kelvin绝对温度的转换,Kelvin 绝对零度是−273.15°C,Kelvin绝对温度1K和摄氏度1°C的单位间隔是一样的。

conv.go

package tempconv// CToF converts a Celsius temperature to Fahrenheit.
func CToF(c Celsius) Fahrenheit { return Fahrenheit(c*9/5 + 32) }// FToC converts a Fahrenheit temperature to Celsius.
func FToC(f Fahrenheit) Celsius { return Celsius((f - 32) * 5 / 9) }func KToC(k Kelvin) Celsius { return Celsius(k + 273.15) }func CToT(c Celsius) Kelvin { return Kelvin(c + 273.15) }

tempconv.go

package tempconvimport "fmt"type Celsius float64
type Fahrenheit float64
type Kelvin float64const (AbsoluteZeroC Celsius = -273.15FreezingC     Celsius = 0BoilingC      Celsius = 100
)func (c Celsius) String() string    { return fmt.Sprintf("%g°C", c) }
func (f Fahrenheit) String() string { return fmt.Sprintf("%g°F", f) }
func (k Kelvin) String() string     { return fmt.Sprintf("%g°K", k) }

练习2.2

写一个通用的单位转换程序,用类似cf程序的方式从命令行读取参数,如果缺省的话则是从标准输入读取参数,然后做类似Celsius和Fahrenheit的单位转换,长度单位可以对应英尺和米,重量单位可以对应磅和公斤等。

conv.go:

package lenthconvfunc MToF(m Meter) Feet { return Feet(m / 0.3084) }func FToM(f Feet) Meter { return Meter(f * 0.3084) }

lenthconv:

package lenthconvimport "fmt"type Meter float64
type Feet float64func (m Meter) String() string { return fmt.Sprintf("%g m", m) }
func (f Feet) String() string  { return fmt.Sprintf("%g ft", f) }

test:

package mainimport ("bufio""fmt""os""strconv""gopl.io/ch2/lenthconv"
)func main() {if len(os.Args) == 1 {input := bufio.NewScanner(os.Stdin)for input.Scan() {t, err := strconv.ParseFloat(input.Text(), 64)if err != nil {fmt.Fprintf(os.Stderr, "cf: %v\n", err)os.Exit(1)}f := lenthconv.Feet(t)m := lenthconv.Meter(t)fmt.Printf("%s = %s, %s = %s\n",f, lenthconv.FToM(f), m, lenthconv.MToF(m))}}for _, arg := range os.Args[1:] {t, err := strconv.ParseFloat(arg, 64)if err != nil {fmt.Fprintf(os.Stderr, "cf: %v\n", err)os.Exit(1)}f := lenthconv.Feet(t)m := lenthconv.Meter(t)fmt.Printf("%s = %s, %s = %s\n",f, lenthconv.FToM(f), m, lenthconv.MToF(m))}
}

练习2.3

重写PopCount函数,用一个循环代替单一的表达式。比较两个版本的性能。

func PopCount(x uint64) int {res := 0for i := 0; i < 8; i++ {res += int(pc[byte(x>>(i*8))])}return res
}

练习2.4

用移位算法重写PopCount函数,每次测试最右边的1bit,然后统计总数。比较和查表算法的性能差异。

func PopCount(x uint64) int {res := 0for x != 0 {res += x & 1x >>= 1}return res
}

练习2.5

表达式x&(x-1)用于将x的最低的一个非零的bit位清零。使用这个算法重写PopCount函数,然后比较性能。

func PopCount(x uint64) int {res := 0for x != 0 {res++x &= x - 1}return res
}
http://www.hengruixuexiao.com/news/24224.html

相关文章:

  • 青岛做网站哪里好个人网页制作
  • 山东网站建设哪家好网站测试报告
  • 彩票网站开发 违法最新的全国疫情
  • 电影网站html模板互联网营销师考证多少钱
  • wordpress带颜色的文字网页seo搜索引擎优化
  • 网站不收录是什么原因全媒体运营师报考官网在哪里
  • 菠菜网站怎么做推广比较好定制网站制作公司
  • 网站做哪些比较有意思贵阳网站建设
  • 如何做外文网站网络营销推广的特点
  • 专业做外贸网站建设百度浏览器电脑版
  • 商水建设局网站举例网络营销的例子
  • 集团公司网站推广方案怎么做企业邮箱申请
  • 团购网站html模板怎么自己建立一个网站
  • 深圳网上申请营业执照流程湖北seo推广
  • 开天猫旗舰店网站建设网站快速排名服务
  • 可信网站验证价格百度学术论文查重官网
  • 汕头网站外包永久8x的最新域名
  • 有哪些可以做图的网站啊关键词搜索引擎工具爱站
  • 做图专业软件下载网站有哪些世界羽联巡回赛总决赛
  • 英孚做测试的网站站长之家统计
  • 可以直接进网站正能量小米网站构建的基本流程
  • 家具网站建设策划方案怎么搭建自己的网站
  • 做一个公司的网站应做哪些准备北京刚刚传来特大消息
  • 网站建设php实验报告社群营销的具体方法
  • 做网站的宣传语泰安百度公司代理商
  • 免费视频网站素材上海百度公司地址
  • 想在网站卖房怎么做上海免费关键词排名优化
  • 某学校网站的安全建设方案网上推广企业
  • 网页设计与网站建设在线考试答案新乡搜索引擎优化
  • 做网站设计好的公司怎么样推广自己的店铺和产品