(Đã dịch) Siêu Não Hắc Khách (Hacker) - Chương 548: Kỹ thuật phòng
Xung quanh mỗi một tấc không gian tựa hồ chất đống vô số thiết bị điện tử cùng linh kiện, ánh sáng lờ mờ, chật chội vô cùng, khiến Lâm Hồng cảm giác như lạc vào một khu chợ điện tử sầm uất nào đó trong thành phố lớn.
Đi một đoạn, hắn thấy ngày càng nhiều linh kiện điện tử liên quan đến máy tính.
Phía trước, một thanh niên tóc vàng đang mải mê chơi game trong một cửa hàng.
Bất chợt, Hoàng Việt dừng bước, quay sang Quảng Vĩnh Nguyên nói: "Theo quy củ cũ."
Dứt lời, hắn một mình tiến về phía trước.
"Quy củ cũ?" Lâm Hồng nghi hoặc nhìn Quảng Vĩnh Nguyên.
Quảng Vĩnh Nguyên đành giải thích: "Muốn gia nhập giới này, phải chứng minh kỹ thuật đạt đến trình độ nhất định. Dù họ biết ta, nhưng đám người này cứng nhắc lắm, chỉ trọng kỹ thuật, không nể nang ai đâu."
Vòng vo một hồi, Lâm Hồng hiểu ra, muốn đi tiếp, hắn phải vượt qua khảo nghiệm do họ đặt ra, có chút ý vị "vượt ải".
"Thú vị đấy." Lâm Hồng cười, không mấy để tâm, hỏi: "Có những hạng mục gì?"
Quảng Vĩnh Nguyên đáp: "Lập trình, bẻ khóa và xâm nhập mạng. Dĩ nhiên, không nhất thiết phải qua hết, chỉ cần một hạng được họ công nhận là đủ. Với cậu thì chắc không thành vấn đề, chỉ là thủ tục thôi."
Quảng Vĩnh Nguyên đã chứng kiến kỹ thuật bẻ khóa của Lâm Hồng, ngay cả "Heroes" khó nhằn như vậy mà cậu còn thuần thục chinh phục được, huống chi mấy bài kiểm tra nhập môn này?
Lúc này, thanh niên tóc vàng đã rời khỏi trò chơi, vuốt mái tóc, nói với Lâm Hồng: "Xin mời."
Cửa ải đầu tiên, lập trình.
Lâm Hồng không nói nhiều, ngồi vào chỗ của thanh niên kia, thấy trên máy tính đã có sẵn một đề bài. Rõ ràng, họ đã quá quen với việc này, có sẵn một quy trình khảo nghiệm cố định.
Đề bài cho Lâm Hồng là: "Sử dụng thuật toán cơ bản để biên soạn một hàm căn bậc hai hiệu suất cao nhất mà anh có thể thực hiện."
Căn bậc hai là một phép tính quan trọng và phức tạp trong toán học, việc thực hiện hàm này trong máy tính thường khá khó khăn, vì vậy các ngôn ngữ lập trình thường đóng gói sẵn các hàm này. Lập trình viên khi cần tính căn bậc hai chỉ cần gọi hàm có sẵn là được. Rất ít người hiểu rõ cách thức thực hiện ở tầng sâu bên dưới.
Hơn nữa, thực hiện được là một chuyện, còn làm sao để đạt hiệu suất cao lại là chuyện khác.
Hiệu suất chương trình thường là điểm khác biệt quan trọng giữa cao thủ và gà mờ. Hacker thực thụ, khi lập trình, không chỉ đơn thuần thực hiện chức năng, mà còn theo đuổi hiệu suất tối ưu. Đôi khi, chỉ một thay đổi nhỏ cũng có thể tạo ra sự khác biệt lớn.
Sự khác biệt có thể không rõ ràng khi thực hiện một lần, nhưng nếu lặp lại hàng ngàn, hàng vạn lần thì sao?
Chương trình do cao thủ và gà mờ viết ra thường có sự chênh lệch lớn về hiệu suất. Muốn viết ra một chương trình hiệu suất cao và thanh lịch, cần có sự hiểu biết sâu sắc về ngôn ngữ lập trình và bản chất của máy tính, đồng thời phải có kinh nghiệm lập trình phong phú. Điều này không thể giả vờ, mà chỉ có thể nâng cao thực lực bản thân bằng thực tế.
Lâm Hồng biết, để tính căn bậc hai, có một thuật toán gọi là phương pháp Newton, nguyên lý của nó là:
Nếu một số là x, giả sử căn bậc hai của nó là y, nếu y bình phương sai lệch so với x một lượng lớn hơn một sai số cho phép, thì tiếp tục giả thiết giá trị tiếp theo, cứ tiếp tục như vậy cho đến khi đạt được giá trị nằm trong sai số cho phép.
Về phần cách giả thiết giá trị này, phương pháp thường dùng là lấy giá trị chia đôi. Trong đó, cần sử dụng nhiều lần phép chia và phép nhân.
Trong máy tính, bản chất của nó thực ra là phép cộng. Toàn bộ thuật toán của CPU thực ra là một máy cộng. Ban đầu, khi Lâm Hồng thực hiện cấu trúc Siêu não CPU, cậu đã dựa trên cấu trúc máy cộng này. Các thuật toán phép trừ, phép nhân và phép chia sau này đều là sự phát triển từ máy cộng này.
Sử dụng trực tiếp phương pháp Newton để tính căn bậc hai là cách làm thông thường. Lâm Hồng không cần nghĩ cũng biết, nếu thực sự làm theo cách này, hiển nhiên không thể vượt qua bài kiểm tra.
Lâm Hồng suy nghĩ một chút rồi nảy ra ý tưởng. Cậu kiểm tra trình biên dịch trong máy tính, thấy máy này được trang bị rất đầy đủ, không chỉ có các trình biên dịch ngôn ngữ lập trình thông thường như C, Java, C++, mà còn có một số ngôn ngữ lập trình ít phổ biến hơn như Ada, Blue, S p...
Cuối cùng, Lâm Hồng vẫn chọn trình biên dịch ngôn ngữ C, rồi bắt đầu gõ code.
Chớp nhoáng, chỉ khoảng hai mươi giây sau, Lâm Hồng đã hoàn thành việc biên soạn hàm.
Cậu dùng hàm này để thực thi thử, chương trình chạy thành công, không có bất kỳ lỗi nào, lần đầu thông qua.
Suy nghĩ một lát, cậu xóa bỏ hai dòng, gộp hai bước thành một, cuối cùng số dòng code của hàm vừa tròn mười.
"Xong rồi." Lâm Hồng nói.
Quảng Vĩnh Nguyên đứng sau cậu vẫn đang cau mày nhìn chương trình.
Anh không hiểu tại sao Lâm Hồng lại viết như vậy.
"Nhanh vậy đã xong rồi?" Thanh niên tóc vàng có chút kinh ngạc.
Khi vừa nhường chỗ, cậu ta đã lấy ra một chiếc máy chơi game cầm tay từ một góc để chơi tiếp, nhưng vừa mới bắt đầu thì đã nghe Lâm Hồng nói xong rồi.
Đây là lần đầu tiên có người vượt qua thử thách nhanh như vậy.
Thanh niên tóc vàng cúi xuống nhìn thoáng qua, mặt hơi ngẩn ra. Mười dòng code này, cậu ta có thể hiểu phần lớn, nhưng vẫn còn một vài chi tiết mà cậu ta chưa thể hiểu ngay được.
Cậu ta tiện tay thêm hàm này vào chương trình thống kê thời gian, thực thi một vạn lần, thời gian hiển thị là 965 phần nghìn giây, tức là chưa đến một giây.
Cậu ta nhìn Lâm Hồng với ánh mắt kính phục, nói: "Anh qua rồi. Tôi ở đây hai năm rồi, số người đi qua đây không dưới 50, nhưng chưa ai làm được như anh, không chỉ đảm bảo độ chính xác, mà thời gian thực thi một vạn lần còn chưa đến một giây."
Lâm Hồng cười, không mấy tự mãn với lời khen này. Đây chỉ là những kiến thức cơ bản, chỉ cần hiểu rõ cách CPU vận hành, suy nghĩ một chút là có thể đạt được, không có gì đáng tự hào.
Quảng Vĩnh Nguyên lên tiếng hỏi: "A Hồng, tôi xem không hiểu lắm, tính căn bậc hai không phải dùng phương pháp tìm kiếm nhị phân sao?"
Quảng Vĩnh Nguyên không giỏi về lĩnh vực này, dù sao anh cũng là dân không chuyên, kiến thức nền tảng không vững chắc. Mười dòng code này của Lâm Hồng khiến anh hoa cả mắt.
Phương pháp tìm kiếm nhị phân mà anh nói thực ra là một trong những cách thực hiện của phương pháp Newton.
Lâm Hồng gật đầu: "Thuật toán đúng là vậy, nhưng ở đây, tôi dùng phép dịch bit cơ số hai để thay thế phép nhân chia. Anh nhìn..."
Thấy anh ta nghe không hiểu, Lâm Hồng bèn mở lại trình biên dịch, đặt điểm dừng, theo dõi giá trị của biến trong RAM, vừa thao tác vừa giải thích:
"Trong cơ số hai, từ trái sang phải quyết định mỗi bit là 0 hay 1, vì vậy, chúng ta có thể duyệt từ bit cao nhất đến bit thấp nhất, lần lượt thử đặt bit đó là 1, xem kết quả có lớn hơn số mục tiêu không. Nếu lớn hơn thì giữ bit đó là 0. Trong trường hợp này, chúng ta không cần thực sự tính phép nhân, mà chỉ cần lấy kết quả trước đó, cộng thêm kết quả của bit trước đó dịch trái một vị trí (tức là nhân đôi), rồi cộng thêm vị trí hiện tại dịch trái lên một vị trí..."
Sau khi Lâm Hồng giải thích cặn kẽ, Quảng Vĩnh Nguyên mới chợt hiểu ra. Thanh niên phía sau cũng gật gù, dù biết nguyên lý chung, nhưng vẫn còn một số chi tiết chưa rõ, nghe Lâm Hồng giải thích đầy đủ mới thông suốt.
Nói cách khác, toàn bộ phép tính của Lâm Hồng đều sử dụng thuật toán cơ số hai, nhanh là phải. Hoặc có thể nói, không có chương trình nào có thể thực hiện phép tính này nhanh hơn cậu.
Chỉ mất khoảng hai mươi giây để vượt qua một cửa ải, hơn nữa đáp án lại xuất sắc như vậy, đây là điều chưa từng xảy ra trước đây.
Lâm Hồng vốn còn muốn xem những đề mục phía sau, nhưng Hoàng Việt sau khi xem chương trình của Lâm Hồng đã tuyên bố cậu vượt qua bài kiểm tra, không cần thiết phải tiếp tục.
Đề bài này thực tế do Hoàng Việt tự ra, ban đầu anh cũng có một đáp án chuẩn, cũng là thực hiện bằng cơ số hai, nhưng so sánh với Lâm Hồng thì vẫn có sự khác biệt khá lớn.
Đây tuy là những kiến thức cơ bản, nhưng lại là những thứ thể hiện rõ trình độ của một người.
Rõ ràng, Lâm Hồng ở lĩnh vực này mạnh hơn Hoàng Việt. Chưa kể, Quảng Vĩnh Nguyên còn nói với anh rằng Lâm Hồng là một cao thủ bẻ khóa.
Cuối cùng, Lâm Hồng thuận lợi tiến vào đại bản doanh của họ, một đại sảnh khá lớn, bày biện mười mấy chiếc máy tính và server đủ loại nhãn hiệu, trông hơi chật chội.
Trong đại sảnh có khá nhiều người trẻ tuổi. Họ vỗ tay, huýt sáo chào đón thành viên mới, nhưng chỉ có vậy. Sau nghi thức chào đón, họ lại tập trung vào máy tính của mình.
Hoàng Việt giới thiệu hai người quan trọng cho Lâm Hồng. Một người tên là Viên Nhạc Bang, một gã mập ú đến nỗi thắt lưng cũng không cúi xuống được, có khuôn mặt tươi cười như Phật Di Lặc, chuyên về bẻ khóa game, là người mà Quảng Vĩnh Nguyên muốn chiêu mộ nhất.
Người còn lại là Nguyễn Toàn Cao, đeo cặp kính đen dày cộp, chuyên về bẻ khóa phần cứng. Trên bàn của anh ta bày đầy linh kiện điện tử và máy chơi game mới nhất, bao gồm máy PS và các dòng máy GBA và NDS của Nintendo.
Ở Nguyễn Toàn Cao, Lâm Hồng thấy được bóng dáng của Cố Vĩ.
Nơi này không phải là công ty, thậm chí không thể gọi là một đội, chỉ là một nhóm người tụ tập lại vì chung sở thích. Hoàng Việt miễn phí cung cấp địa điểm cho họ, và vì ở phố Áp Liêu, họ có thể dễ dàng tìm thấy bất kỳ thiết bị điện tử và linh kiện nào.
Họ là một đám kỹ thuật cuồng vì kỹ thuật.
Dịch độc quyền tại truyen.free, những con người đam mê kỹ thuật luôn có sức hút riêng.