Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 29th, 2012  |  syntax: None  |  size: 0.97 KB  |  hits: 57  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Golang - convert string which represent binary number into int
  2. package main
  3.  
  4. import (
  5.     "fmt"
  6.     "strconv"
  7.     "math"
  8. )
  9.  
  10. func conv(str string) int {
  11.     l := len(str)
  12.     result := 0.0
  13.     for i,n := range str {
  14.         number,_ := strconv.Atof64(string(n))
  15.         result += math.Exp2(float64(l-i-1))*number
  16.     }
  17.     return int(result)
  18. }
  19.  
  20. func main() {
  21.     fmt.Println(conv("1001"))
  22. }
  23.        
  24. package main
  25.  
  26. import (
  27.     "fmt"
  28.     "strconv"
  29. )
  30.  
  31. func main() {
  32.     if i, err := strconv.Btoi64("1001", 2); err != nil {
  33.         fmt.Println(err)
  34.     } else {
  35.         fmt.Println(i)
  36.     }
  37. }
  38.        
  39. package main
  40.  
  41. import (
  42.     "fmt"
  43.     "strconv"
  44. )
  45.  
  46. func main() {
  47.     if i, err := strconv.ParseInt("1001", 2, 64); err != nil {
  48.         fmt.Println(err)
  49.     } else {
  50.         fmt.Println(i)
  51.     }
  52. }
  53.        
  54. package main
  55.  
  56. import (
  57.     "fmt"
  58.     "strconv"
  59. )
  60.  
  61. func main() {
  62.     i, err := strconv.ParseInt("1101", 2, 64)
  63.     if err != nil {
  64.         fmt.Println(err)
  65.         return
  66.     }
  67.     fmt.Println(i)
  68. }
  69.        
  70. 13