mirror of https://github.com/01-edu/public.git
Augusto
5 years ago
committed by
Christopher Fremond
1 changed files with 39 additions and 9 deletions
@ -1,21 +1,51 @@
|
||||
## reversebits |
||||
|
||||
## **WARNING! VERY IMPORTANT!** |
||||
|
||||
For this exercise a function will be tested **with the exam own main**. However the student **still needs** to submit a structured program: |
||||
|
||||
This means that: |
||||
|
||||
- The package needs to be named `package main`. |
||||
- The submitted code needs one declared function main(```func main()```) even if empty. |
||||
- The function main declared needs to **also pass** the `Restrictions Checker`(illegal functions tester). It is advised for the student to just empty the function main after its own testings are done. |
||||
- Every other rules are obviously the same than for a `program`. |
||||
|
||||
### Instructions |
||||
|
||||
Write a program that takes a `byte` in binary format, that reverses it `bit` by `bit` (as shown in the |
||||
example) and that prints the result. |
||||
Write a function that takes a `byte` in binary format, that reverses it `bit` by `bit` (as shown in the example) and returns the result |
||||
|
||||
### Expected function |
||||
|
||||
```go |
||||
func ReverseBits(by byte) byte { |
||||
|
||||
} |
||||
``` |
||||
### Usage |
||||
|
||||
Here is a possible [program](TODO-LINK) to test your function : |
||||
|
||||
```go |
||||
package main |
||||
|
||||
import ( |
||||
"fmt" |
||||
) |
||||
|
||||
func main() { |
||||
a := byte(0x26) |
||||
fmt.Printf("%08b\n", a) |
||||
fmt.Printf("%08b\n", ReverseBits(a)) |
||||
} |
||||
``` |
||||
|
||||
### Expected output |
||||
|
||||
```console |
||||
student@ubuntu:~/piscine-go/reversebits$ go build |
||||
student@ubuntu:~/piscine-go/reversebits$ ./reversebits |
||||
Not enough arguments. |
||||
student@ubuntu:~/piscine-go/reversebits$ ./reversebits 00100110 | cat -e |
||||
01100100$ |
||||
student@ubuntu:~/piscine-go/reversebits$ ./reversebits "djs" |
||||
The argument "djs" does not represent a byte |
||||
student@ubuntu:~/piscine-go/reversebits$ ./reversebits "0102039s" | cat -e |
||||
The argument "0102039s" does not represent a byte$ |
||||
00100110 |
||||
01100100 |
||||
student@ubuntu:~/piscine-go/reversebits$ |
||||
``` |
||||
|
Loading…
Reference in new issue