Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- int atoi_shift(const char *p) {
- int k = 0;
- int sign = 1;
- if(p && p[0] == '-') {
- sign = -1;
- p++;
- }
- while (*p) {
- k = (k<<3)+(k<<1)+(*p)-'0';
- p++;
- }
- return sign*k;
- }
- int atoi_loop(const char *p)
- {
- int k = 0;
- int sign = 1;
- if (p[0] == '-')
- {
- sign = -1;
- p++;
- }
- while(p) {
- k = k*10 + (*p) - '0';
- }
- return sign*k;
- }
- int main() {
- int a_l = atoi_loop("-1234");
- int a_s = atoi_shift("-1234");
- std::cout << a_l << '\n' << a_s << '\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement